Overview | Group | Tree | Graph | Deprecated | Index | Concepts |
This class provides a mechanism for iterating on the domain of
the Head-Tail graph of a sequence. The iterator iterates on subsets of intervals,
instances of IlcIntervalVar
, from an instance of
IlcIntervalSequenceVar
. The subset is given by
a filter
from the enumeration
IlcIntervalSequenceVar::Filter
:
IlcIntervalSequenceVar::Head
points at
the head subsequence of the sequence. By default, it is initialized
on the earliest interval in the head (member function
IlcIntervalSequenceVar::getEarliestInHead()
) which is
the actual first interval in the sequence. The iterator
is chronologically ordered, that is operator++
advances until reaching the latest in head interval (member
function IlcIntervalSequenceVar::getLastestInHead()
)
and operator--
goes back until reaching the earliest
in head interval.IlcIntervalSequenceVar::Tail
points at
the tail subsequence of the sequence. By default, it is initialized
on the earliest interval in tail (member function
IlcIntervalSequenceVar::getEarliestInTail()
) which is
the actual last interval in the sequence. The iterator
is reverse chronologically ordered, that is operator++
goes back until reaching the latest interval in the tail (member
function IlcIntervalSequenceVar::getLastestInTail()
)
and operator--
advances until reaching the earliest
in tail interval.IlcIntervalSequenceVar::NotSequenced
points at
the set of intervals not in the head and not in the tail of the sequence.
This subset of intervals is not ordered.IlcIntervalSequenceVar::CandidateHead
points at the
set of intervals of the sequence that are possible candidates for
extending the head subsequence, that is the candidates
to stack in the head. This subset of intervals is not ordered.IlcIntervalSequenceVar::CandidateTail
points at the
set of intervals of the sequence that are possible candidates for
extending the tail subsequence, that is the candidates
to stack in the tail. This subset of intervals is not ordered.If given, a
position
, an instance of
IlcIntervalVar
that must belong to the correct
subset, is initially pointed at by the iterator
An iterator on the Head-Tail graph of a sequence is not stable in the case of a change of the graph.
See Also:
IlcIntervalSequenceVar, IlcIntervalSequenceVar::Filter
Method Summary | |
---|---|
public | Iterator(const IlcIntervalSequenceVar sequence, IlcIntervalSequenceVar::Filter filter, const IlcIntervalVar position=0) |
public IlcBool | ok() const |
public IlcIntervalVar | operator*() const |
public Iterator & | operator++() |
public Iterator & | operator--() |
Method Detail |
---|
This constructor creates an iterator to iterate over
some subset of the argument sequence
, an instance of
IlcIntervalSequenceVar
. The subset is given by
the argument filter
, from the enumeration
IlcIntervalSequenceVar::Filter
. If given, a
position
, an instance of
IlcIntervalVar
belonging to the correct
subset, initializes the iterator.
This member function indicates whether all intervals have
been traversed by returning IloTrue
; otherwise
it returns IloFalse
.
This operator returns the current interval, an instance of
IlcIntervalVar
,
to which the invoking iterator points.
This operator advances the iterator to point to the next value in the domain of the interval sequence variable. A reference to the invoking iterator is returned.
This operator retreats the iterator to point to the previous value in the domain of the interval sequence variable. A reference to the invoking iterator is returned.