MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / ConjunctIterator

Class ConjunctIterator

src/jrd/optimizer/Optimizer.h:284–352  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

282 typedef Firebird::HalfStaticArray<Conjunct, OPT_STATIC_ITEMS> ConjunctList;
283
284 class ConjunctIterator
285 {
286 public:
287 ConjunctIterator(Conjunct* _begin, const Conjunct* _end)
288 : begin(_begin), end(_end)
289 {
290 rewind();
291 }
292
293 ConjunctIterator(const ConjunctIterator& other)
294 : begin(other.begin), end(other.end), iter(other.iter)
295 {}
296
297 operator BoolExprNode*() const
298 {
299 return iter->node;
300 }
301
302 BoolExprNode* operator->() const
303 {
304 return iter->node;
305 }
306
307 BoolExprNode* operator*() const
308 {
309 return iter->node;
310 }
311
312 unsigned operator&(unsigned flags) const
313 {
314 return (iter->flags & flags);
315 }
316
317 void operator|=(unsigned flags)
318 {
319 iter->flags |= flags;
320 }
321
322 void operator++()
323 {
324 iter++;
325 }
326
327 bool hasData() const
328 {
329 return (iter < end);
330 }
331
332 unsigned getFlags() const
333 {
334 return iter->flags;
335 }
336
337 void rewind()
338 {
339 iter = begin;
340 }
341

Callers 3

getBaseConjunctsMethod · 0.85
getParentConjunctsMethod · 0.85
getConjunctsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected