![]() |
OR-Tools
8.2
|
The class Iterator has two direct subclasses.
HoleIterators iterates over all holes, that is value removed between the current min and max of the variable since the last time the variable was processed in the queue. DomainIterators iterates over all elements of the variable domain. Both iterators are not robust to domain changes. Hole iterators can also report values outside the current min and max of the variable. HoleIterators should only be called from a demon attached to the variable that has created this iterator. IntVar* current_var; std::unique_ptr<IntVarIterator> it(current_var->MakeHoleIterator(false)); for (const int64 hole : InitAndGetValues(it)) { /// use the hole }
Definition at line 3914 of file constraint_solver.h.
Public Member Functions | |
~IntVarIterator () override | |
virtual void | Init ()=0 |
This method must be called before each loop. More... | |
virtual bool | Ok () const =0 |
This method indicates if we can call Value() or not. More... | |
virtual int64 | Value () const =0 |
This method returns the current value of the iterator. More... | |
virtual void | Next ()=0 |
This method moves the iterator to the next value. More... | |
std::string | DebugString () const override |
Pretty Print. More... | |
|
inlineoverride |
Definition at line 3916 of file constraint_solver.h.
|
inlineoverridevirtual |
|
pure virtual |
This method must be called before each loop.
|
pure virtual |
This method moves the iterator to the next value.
|
pure virtual |
This method indicates if we can call Value() or not.
|
pure virtual |
This method returns the current value of the iterator.