std::ranges::elements_view<V,N>::iterator
来自cppreference.com
                    
                                        
                    < cpp | ranges | elements view
                    
                                                            
                    | template< bool Const > class /*iterator*/; // 仅用于阐释 | (C++20 起) | |
elements_view::begin 的返回类型,及 elements_view::end 在底层类型为 common_range 时的返回类型。
const 限定重载返回 /*iterator*/<true> 。非 const 限定重载返回 /*iterator*/<false> 。
此类模板的名字(此处示为 iterator )是未指定的。
成员类型
| 成员类型 | 定义 | 
| Base(私有) | 若 Const 为 true则为 const V ,否则为 V 。名字仅用于阐释 | 
| iterator_concept | 若 Base实现random_access_range则为 std::random_access_iterator_tag ,若 Base实现bidirectional_range则为 std::bidirectional_iterator_tag ,若 Base实现forward_range则为 std::forward_iterator_tag ,否则为 std::input_iterator_tag | 
| 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_(私有) | ranges::iterator_t<Base> 类型对象,名字仅用于阐释 | 
成员函数
| (C++20) | 构造迭代器 (公开成员函数) | 
| (C++20) | 返回底层迭代器 (公开成员函数) | 
| (C++20) | 访问第 N元组元素(公开成员函数) | 
| (C++20) | 按下标访问元素 (公开成员函数) | 
| 推进或减少底层迭代器 (公开成员函数) | 
非成员函数
| 比较底层迭代器 (函数) | |
| (C++20) | 进行迭代器算术 (函数) | 
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 | 
|---|---|---|---|
| P2259R1 | C++20 | 始终定义成员 iterator_category | 仅若 Base实现forward_range才定义 | 
| LWG 3555 | C++20 | iterator_concept的定义忽略 const | 使之考虑 |