C++ の名前付き要件: LegacyContiguousIterator (C++17 以降)
From cppreference.com
LegacyContiguousIterator は、論理的に隣接する要素がメモリ上でも物理的に隣接している LegacyIterator です。
配列の要素へのポインタは、LegacyContiguousIterator のすべての要件を満たします。
目次 |
[編集] 要件
型 It は、以下の場合に LegacyContiguousIterator を満たします。
- 型 It が LegacyIterator を満たす
そして、あらゆる
- a (型 It の間接参照可能なイテレータ)
- n (整数値)
に対して、以下が成立する
- a + n は有効で間接参照可能なイテレータ値である
then
- *(a + n) は *(std::addressof(*a) + n) と同等である。
[編集] 標準ライブラリ
以下の標準ライブラリ型は LegacyContiguousIterator です。
- array::iterator.
- basic_string_view::iterator.
- basic_string::iterator.
- vector::iterator (ただし
value_typeが bool ではない場合) - begin(valarray) および end(valarray) の戻り値の型。
[編集] 注釈
ファンシーポインタ (オブジェクト型への) も LegacyContiguousIterator を満たす必要があります。
|
LegacyContiguousIterator は |
(C++20以降) |
[編集] 関連項目
| (C++20) |
random_access_iterator が、メモリ上で連続している要素を参照する連続イテレータであることを規定する(コンセプト) |
| イテレータライブラリ | イテレータ、イテレータ特性、アダプタ、およびユーティリティ関数の定義を提供します。 |