diff --git a/reference/exposition-only.md b/reference/exposition-only.md index 382f98d20..c345766e3 100644 --- a/reference/exposition-only.md +++ b/reference/exposition-only.md @@ -26,6 +26,7 @@ | [`dereferenceable`](iterator/dereferenceable.md) | 単純な間接参照が可能 (concept) | C++20 | | [`is-integer-like`](iterator/is_integer_like.md) | 符号付整数型と同等の型か否かを表す (variable template) | C++20 | | [`is-signed-integer-like`](iterator/is_integer_like.md) | 符号なし整数型と同等の型か否かを表す (variable template) | C++20 | +| [`constant-iterator ](iterator/iconstant_iterator.md.nolink) | 要素不変なイテレータ (concept) | C++23 | ## `` @@ -50,3 +51,4 @@ * [N4861 16.4.2.1 Exposition-only functions](https://timsong-cpp.github.io/cppwp/n4861/expos.only.func) * [LWG 3404 Finish removing `subrange`'s conversions from `pair-like`](https://cplusplus.github.io/LWG/issue3404) +* [P2278R4 `cbegin` should always return a constant iterator](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2278r4.html) diff --git a/reference/iterator.md b/reference/iterator.md index fba74b582..a2e1dbc8c 100644 --- a/reference/iterator.md +++ b/reference/iterator.md @@ -78,6 +78,7 @@ C++20以降の標準ライブラリでは、任意のイテレータに対して | [`iter_reference_t`](iterator/iter_reference_t.md) | イテレータの`reference_type`を取得する (alias template) | C++20 | | [`iter_rvalue_reference_t`](iterator/iter_rvalue_reference_t.md) | イテレータの指す要素の右辺値参照型を取得する (alias template) | C++20 | | [`iter_common_reference_t`](iterator/iter_common_reference_t.md) | イテレータの`value_type`と`reference_type`の[`common_reference`](/reference/type_traits/common_reference.md)を取得する (alias template) | C++20 | +| [`iter_const_reference_t`](iterator/iter_const_reference_t.md.nolink) | イテレータの参照型(`iter_reference_t`)を`const`化したものを取得する (alias template) | C++23 | | [`indirect_result_t`](iterator/indirect_result_t.md) | 関数呼び出し可能な型`F`を複数のイテレータ`Is...`によって呼び出した時の戻り値型を取得する (alias template) | C++20 | | [`projected`](iterator/projected.md) | イテレータ`I`の`Proj`による射影操作の結果を表すことのできる[`indirectly_readable`](/reference/iterator/indirectly_readable.md)なクラス (class template) | C++20 | | [`incrementable_traits`](iterator/incrementable_traits.md) | `iter_difference_t`にアダプトするためのカスタマイゼーションポイント (class template) | C++20 | @@ -137,6 +138,16 @@ C++20以降の標準ライブラリでは、任意のイテレータに対して | [`istreambuf_iterator`](iterator/istreambuf_iterator.md) | 入力ストリームバッファイテレータ(class template) | | | [`ostreambuf_iterator`](iterator/ostreambuf_iterator.md) | 出力ストリームバッファイテレータ(class template) | | +## 定数イテレータ + +| 名前 | 説明 | 対応バージョン | +|----------------------------------------------------|------------------------------------------|-------| +| [`basic_const_iterator`](iterator/basic_const_iterator.md.nolink) | イテレータの要素を`const`化するラッパーイテレータ(class template) | C++23 | +| [`const_iterator`](iterator/const_iterator.md.nolink) | 要素が`const`化されたイテレータ型を取得する (alias template) | C++23 | +| [`const_sentinel`](iterator/const_sentinel.md.nolink) | 要素が`const`化された番兵型を取得する (alias template) | C++23 | +| [`make_const_iterator`](iterator/make_const_iterator.md.nolink) | `const_iterator`オブジェクトを作るヘルパ関数(function template) | C++23 | +| [`make_const_sentinel`](iterator/make_const_sentinel.md.nolink) | `const_sentinel`オブジェクトを作るヘルパ関数(function template) | C++23 | + ## その他のイテレータアダプタ | 名前 | 説明 | 対応バージョン | @@ -186,3 +197,4 @@ C++20以降の標準ライブラリでは、任意のイテレータに対して - [P0896R4 The One Ranges Proposal (was Merging the Ranges TS)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0896r4.pdf) - [P2051R0 C++ Standard Library Issues to be moved in Prague](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2051r0.html) +- [P2278R4 `cbegin` should always return a constant iterator](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2278r4.html)