名前空間
変種
操作

名前付き要件: LegacyIterator

提供: cppreference.com
< cpp‎ | named req
 
 
名前付き要件
基本
レイアウト
ライブラリ全体
コンテナ
コンテナの要素
イテレータ
ストリーム入出力
乱数
並行処理
(C++11)

(C++11)
(C++11)
その他
 

LegacyIterator 要件はコンテナの要素を識別および巡回するために使用できる型を表します。

LegacyIterator は他のイテレータ型 LegacyInputIteratorLegacyOutputIteratorLegacyForwardIteratorLegacyBidirectionalIterator および LegacyRandomAccessIterator によって使用される要件の基礎集合です。 イテレータはポインタの抽象化として考えることができます。

[編集] 要件

以下の内容を満たす場合、型 ItLegacyIterator を満たします。

さらに、

  • It 型の左辺値 r

が与えられたとき、以下の式が有効でなければならず、規定された効果を持たなければなりません。

戻り値の型 事前条件
*r 未規定 r逆参照可能である (下を参照)
++r It& rインクリメント可能である (式 ++r の動作が定義されている)

[編集] 逆参照可能なイテレータ

*i の動作が定義されているイテレータは逆参照可能と呼ばれます。

以下の場合、イテレータは逆参照可能でありません。

  • 終端イテレータ (配列の最後の要素の次のポインタを含む) または先頭より前のイテレータである。 そのようなイテレータは特定の実装では逆参照可能かもしれませんが、そういったことをライブラリが仮定することはありません。
  • 単数イテレータ、つまり、いかなるシーケンスにも紐付いていないイテレータである。 ヌルポインタやデフォルト構築されたポインタ (不定値を持つ) は単数です。
  • 参照するシーケンスに対するイテレータを無効化する操作によって無効化されたイテレータである。

[編集] 関連項目

その型のオブジェクトがインクリメント可能かつ逆参照可能であることを指定します
(コンセプト) [edit]