シーケンス
シーケンス(あるいは,より正確には入力シーケンス) は,
その要素の範囲にアクセスするためのイテレータを得るための
begin/end
演算を適用できるコンパイル時の実体である.
一般的には,シーケンスは反復ごと,または異なる計算セッションごとに内容が変わらない保証はない[1].
そのような追加の要求を持つコンセプトの定義としては,
順シーケンスを見よ.
>
| Expression | Expression type |
|---|---|
typename begin<s>::type | 入力イテレータのモデル |
typename end<s>::type | 入力イテレータのモデル |
あらゆるシーケンスsに対し,次の不変性は常に保たれる:
[begin<s>::type, end<s>::type) は常に有効な範囲である;
[begin<s>::type, end<s>::type) の範囲を反復するアルゴリズムはsの全ての要素を(一度だけ)通る;
sがemptyの時,begin<s>::type は end<s>::type と同一である.
[1] 例えば,シーケンスはコンパイル時ランダムナンバージェネレータへのインタフェースを実装するかもしれない.そのようなシーケンスにとってbegin/end呼び出しは,全てのサブシーケンスのコードのコンパイルで,
異なるイテレータを返すだろう.
Sequences, Forward Sequence, Input Iterator, begin, end