| 概述 | 组 | 树 | 图形 | 不推荐 | 索引 | 概念 |

该类提供了对序列的头尾图域进行迭代的机制。 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指向序列的头部子序列。 默认情况下,它在头部最早的区间(成员函数 "IlcIntervalSequenceVar::getEarliestInHead())上初始化,该区间是序列中实际的第一个区间。 迭代器是按时间顺序排列的,即 "operator++前进,直到到达最晚的头部区间(成员函数 "IlcIntervalSequenceVar::getLastestInHead()),而 "operator--后退,直到到达最早的头部区间。IlcIntervalSequenceVar::Tail指向序列的尾部子序列。 默认情况下,它在尾部的最早间隔(成员函数 "IlcIntervalSequenceVar::getEarliestInTail())上初始化,而尾部间隔是序列中的实际最后间隔。 迭代器按时间倒序排列,即 "operator++一直向后退,直到到达尾部(成员函数 "IlcIntervalSequenceVar::getLastestInTail())的最近间隔,而 "operator--一直向前推进,直到到达尾部的最早间隔。IlcIntervalSequenceVar::NotSequenced指向不在序列头部和尾部的间隔集。 这个区间子集没有排序。IlcIntervalSequenceVar::CandidateHead指向序列中可能候选扩展头部子序列的间隔集合,即堆叠在头部的候选间隔。 这个区间子集没有排序。IlcIntervalSequenceVar::CandidateTail指向序列中可能用于扩展尾部子序列的间隔集合,即堆叠在尾部的候选间隔。 这个区间子集没有排序。If given, a position, an instance of IlcIntervalVar that must belong to the correct subset, is initially pointed at by the iterator
序列头尾图上的迭代器在图发生变化时并不稳定。
另请参阅:
IlcIntervalSequenceVar,IlcIntervalSequenceVar::Filter
| 方法概要 | |
|---|---|
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--() |
| 方法详细信息 |
|---|
该构造函数创建了一个迭代器,用于遍历参数 "sequence的某个子集,即 "IlcIntervalSequenceVar的一个实例。 The subset is given by the argument filter, from the enumeration IlcIntervalSequenceVar::Filter. 如果给定了 "position,"IlcIntervalVar"的实例属于正确的子集,则迭代器初始化。
该成员函数返回 "IloTrue,表示是否已遍历所有区间;否则返回 "IloFalse。
此操作符返回调用迭代器指向的当前区间,即 "IlcIntervalVar的实例。
该操作符将迭代器向前推进,指向区间序列变量域中的下一个值。 返回调用迭代器的引用。
该操作符将迭代器退回到区间序列变量域中的前一个值。 返回调用迭代器的引用。