命名空间
变体
操作

std::ranges::join_view<V>::iterator

来自 cppreference.com
< cpp‎ | ranges‎ | join view
 
 
范围库
范围适配器
 
 
template< bool Const >
class /*iterator*/
(自 C++20 起)
(仅用于说明目的*)

join_view::begin 的返回类型,以及当外部范围 V 和内部范围 ranges::range_reference_t<V> 都满足 common_range 且父 join_viewforward_range 时,join_view::end 的返回类型。

如果 V 不是 简单视图(例如,如果 ranges::iterator_t<const V> 无效或与 ranges::iterator_t<V> 不同),则对于从 const 重载返回的迭代器,Const 为真,否则为假。如果 V 是简单视图,则 Const 为真当且仅当 ranges::range_reference_t<V> 是引用。

内容

[编辑] 成员类型

成员 定义
父级 maybe-const <Const, ranges::join_view<V>>
(仅用于说明的成员类型*)
基类 maybe-const <Const, V>
(仅用于说明的成员类型*)
OuterIter ranges::iterator_t<Base>
(仅用于说明的成员类型*)
InnerIter ranges::iterator_t<ranges::range_reference_t<Base>>
(仅用于说明的成员类型*)
iterator_concept
iterator_category
(有条件地存在)
仅当 iterator::iterator_concept(见上文)表示 std::forward_iterator_tag 时定义。

OUTERCstd::iterator_traits<ranges::iterator_t<Base>>::iterator_category,并令 INNERCstd::iterator_traits<ranges::iterator_t<ranges::range_reference_t<Base>>>::
    iterator_category
.

value_type ranges::range_value_t<ranges::range_reference_t<Base>>
差值类型 std::common_type_t<ranges::range_difference_t<Base>,
                   ranges::range_difference_t<ranges::range_reference_t<Base>>>

[编辑] 数据成员

成员 定义
OuterIter outer_ (私有) 一个外部迭代器
(仅供说明的成员对象*)
InnerIter inner_ (私有) 一个内部迭代器
(仅供说明的成员对象*)
Parent* parent_ (私有) 指向父对象的指针
(仅供说明的成员对象*)

[编辑] 成员函数

构造一个迭代器
(公共成员函数)
访问元素
(公共成员函数)
前进或后退底层迭代器
(公共成员函数)
跳过空的内部范围
(仅供说明的成员函数*)

[编辑] 非成员函数

比较底层迭代器
(函数)
(C++20)
将解引用底层迭代器结果转换为其关联的右值引用类型
(函数)
(C++20)
交换两个底层迭代器所指向的对象
(函数)