FRAMES NO FRAMES

Class IloExplicitEvaluator::Iterator

Definition file: ilsolver/iimmulti.h
Include file: <ilsolver/iim.h>
An iterator which will iterate over all evaluated objects in an explicit evaluator.

This iterator iterates over all objects which have evaluations associated with them in an explicit evaluator. The objects are delivered in an arbitrary order, and do not necessarily correspond to the order in which the objects were given evaluations (via IloExplicitEvaluator::setEvaluation).

The iterator is robust to removals of objects (via IloExplicitEvaluator::removeEvaluation) at the iterator position, but if this is done, the iterator should not be incremented or an object will be skipped. Moreover, ok() should be used to determine if the iterator is still valid.

Constructor Summary
public Iterator(IloExplicitEvaluator< IloObject > ee)

Creates an iterator to iterate over all evaluated objects in an explicit evaluator.

Method Summary
public IloBoolok() const

Determines if the iteration is complete.

public IloObjectoperator*() const

Accesses the object at the current iterator position.

public Iterator &operator++()

Advances the iterator to the next object.

Constructor Detail

Iterator

public Iterator(IloExplicitEvaluator< IloObject > ee)
Creates an iterator to iterate over all evaluated objects in an explicit evaluator.

This constructor creates an iterator which will iterate (in no particular order) over all evaluated objects in the explicit evaluator ee.


Method Detail

ok

public IloBool ok() const
Determines if the iteration is complete.

This member function should be called before each access to the iteration to determine if the current position is valid. When this function returns IloTrue, the iterator can safely be accessed (via operator *()), as long as the explicit evaluator is not changed before the access.


operator*

public IloObject operator*() const
Accesses the object at the current iterator position.

This operator is used to deliver the current value of the iterator, which is an object which has an evaluation in the explicit evaluator specified in the constructor of the iterator.


operator++

public Iterator & operator++()
Advances the iterator to the next object.

The operator moves the iterator to the next object which has an evaluation in the explicit evaluator being traversed by the iterator. Note that in the case where the object being pointed to by the iterator has just been deleted, this operator should not be called; the deletion process automatically advances the iterator in this case. A reference to the advanced iterator is returned.