std::experimental::ranges::ForwardIterator
來自 cppreference.com
< cpp | experimental | ranges
定義於標頭檔案 <experimental/ranges/iterator> |
||
template< class I > concept bool ForwardIterator = |
(範圍 TS) | |
概念 ForwardIterator<I>
透過增加相等比較和多趟保證來完善 InputIterator
。
前向迭代器的 ==
的定義域是針對同一底層序列的迭代器,但相同型別的值初始化迭代器可以相互比較且應比較相等。
從前向迭代器獲得到範圍 [
i,
s)
的指標和引用必須保持有效,只要 [
i,
s)
持續表示一個範圍。
令 a
和 b
為型別 I
的兩個可解引用迭代器。ForwardIterator<I>
僅在以下情況滿足:
- a == b 蘊含 ++a == ++b;且
- 表示式 ([](X x){ ++x; }(a), *a) 等價於 *a,即,遞增
a
的副本對解引用a
的結果沒有影響。
這被稱為*多趟保證*。
[編輯] 注意
前向迭代器不能是“隱藏式”的:它不能返回指向其內部物件的引用,因為這樣的引用會因前向迭代器的銷燬而失效。