std::ranges::elements_view<V,N>::iterator
From cppreference.com
< cpp | ranges | elements view
| template< bool Const > class /*iterator*/; |
(説明用*) | |
elements_view::begin の戻り値の型、および基盤となるビューが common_range である場合の elements_view::end の戻り値の型。
Constがtrueの場合、型/*iterator*/<true>が返されます。Constがfalseの場合、型/*iterator*/<false>が返されます。
目次 |
[編集] メンバ型
| メンバ型 | 定義 |
Base (private) |
const V、ただし Const が true の場合。それ以外の場合は V。(説明専用メンバ型*) |
iterator_concept
|
表す
|
iterator_category(条件付きで存在) |
Base が forward_range をモデル化しない場合は未定義。それ以外の場合は、
|
value_type
|
std::remove_cvref_t<std::tuple_element_t<N, ranges::range_value_t<Base>>> |
difference_type
|
ranges::range_difference_t<Base> |
[編集] データメンバ
| メンバオブジェクト | 定義 |
current_ (private) |
基盤となるシーケンスの現在の要素への、ranges::iterator_t<Base> 型のイテレータ。 (説明用のメンバオブジェクト*) |
[編集] メンバ関数
| イテレータを構築する (public member function) | |
| 基盤となるイテレータを返します。 (public member function) | |
| N 番目のタプル要素にアクセスする。 (public member function) | |
| インデックスで要素にアクセスする (public member function) | |
| 基底イテレータを進めたり、後退させたりします。 (public member function) |
[編集] 非メンバ関数
| 基底イテレータを比較する (関数) | |
| (C++20) |
イテレータの算術演算を実行します。 (関数) |
[編集] 不具合報告
以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。
| DR | 適用対象 | 公開された動作 | 正しい動作 |
|---|---|---|---|
| P2259R1 | C++20 | メンバ iterator_category は常に定義される。 |
Base が forward_range をモデル化する場合にのみ定義される。 |
| LWG 3555 | C++20 | iterator_concept の定義は const を無視する。 |
検討対象となる。 |
[編集] 関連項目
| (C++20) |
ranges::transform_view::begin の戻り値の型、および基盤となるビューが common_range である場合の ranges::transform_view::end の戻り値の型。(private member class template) |