一个类或内置类型X模型了双向遍历的概念,如果除了X满足 Forward Traversal Iterator 的要求外,以下表达式有效且符合所述语义。
| 双向遍历迭代器要求(除了前向遍历迭代器) | ||
|---|---|---|
| 表达式 | 返回类型 | 断言/语义/前置/后置条件 |
| --r | X& | pre: 存在s使得r == ++s。posts是可解引用的。--(++r) == r. --r == --s蕴含r == s. &r == &--r. |
| r-- | 可转换为const X& | {
X tmp = r;
--r;
return tmp;
}
|
| iterator_traversal<X>::type | 可转换为bidirectional_traversal_tag | |