命名空间
变体
操作

std::ranges::join_view<V>::迭代器

来自 cppreference.cn
< cpp‎ | ranges‎ | join view
 
 
范围库
范围适配器
 
 
template< bool Const >
class /*iterator*/
(since 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 为 true,否则为 false。如果 V 是简单视图,则当且仅当 ranges::range_reference_t<V> 是引用时,Const 为 true。

内容

[编辑] 成员类型

成员 定义
父类 maybe-const <Const, ranges::join_view<V>>
(仅为演示用途的成员类型*)
Base 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>>
difference_type std::common_type_t<ranges::range_difference_t<Base>,
                   ranges::range_difference_t<ranges::range_reference_t<Base>>>

[编辑] 数据成员

成员 定义
OuterIter outer_ (private) 外部迭代器
(仅为演示用途的成员对象*)
InnerIter inner_ (private) 内部迭代器
(仅为演示用途的成员对象*)
Parent* parent_ (private) 指向父对象的指针
(仅为演示用途的成员对象*)

[编辑] 成员函数

构造迭代器
(公共成员函数)
访问元素
(公共成员函数)
前进或后退底层迭代器
(公共成员函数)
跳过空的内部范围
(仅为演示用途的成员函数*)

[编辑] 非成员函数

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