Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::IntVarIterator Class Referenceabstract

#include <constraint_solver.h>

Inheritance diagram for operations_research::IntVarIterator:
operations_research::BaseObject

Public Member Functions

 ~IntVarIterator () override
 
virtual void Init ()=0
 This method must be called before each loop.
 
virtual bool Ok () const =0
 This method indicates if we can call Value() or not.
 
virtual int64_t Value () const =0
 This method returns the current value of the iterator.
 
virtual void Next ()=0
 This method moves the iterator to the next value.
 
std::string DebugString () const override
 Pretty Print.
 
- Public Member Functions inherited from operations_research::BaseObject
 BaseObject ()
 
 BaseObject (const BaseObject &)=delete
 This type is neither copyable nor movable.
 
BaseObjectoperator= (const BaseObject &)=delete
 
virtual ~BaseObject ()
 

Detailed Description

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_t hole : InitAndGetValues(it)) { /// use the hole }

Definition at line 4193 of file constraint_solver.h.

Constructor & Destructor Documentation

◆ ~IntVarIterator()

operations_research::IntVarIterator::~IntVarIterator ( )
inlineoverride

Definition at line 4195 of file constraint_solver.h.

Member Function Documentation

◆ DebugString()

std::string operations_research::IntVarIterator::DebugString ( ) const
inlineoverridevirtual

Pretty Print.

Reimplemented from operations_research::BaseObject.

Definition at line 4210 of file constraint_solver.h.

◆ Init()

virtual void operations_research::IntVarIterator::Init ( )
pure virtual

This method must be called before each loop.

◆ Next()

virtual void operations_research::IntVarIterator::Next ( )
pure virtual

This method moves the iterator to the next value.

◆ Ok()

virtual bool operations_research::IntVarIterator::Ok ( ) const
pure virtual

This method indicates if we can call Value() or not.

◆ Value()

virtual int64_t operations_research::IntVarIterator::Value ( ) const
pure virtual

This method returns the current value of the iterator.


The documentation for this class was generated from the following file: