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 重载所返回的迭代器为 true,否则为 false。若 V 是简单视图,则 Const 当且仅当 ranges::range_reference_t<V> 是引用时为 true

成员类型

成员 定义
Parent 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_ (私有) 外部迭代器
(仅用于阐述的成员对象*)
InnerIter inner_ (私有) 内部迭代器
(仅用于阐述的成员对象*)
Parent* parent_ (私有) 指向父对象的指针
(仅用于阐述的成员对象*)

成员函数

构造迭代器
(公开成员函数)
访问元素
(公开成员函数)
推进或减少各底层迭代器
(公开成员函数)
跳过空的内部范围
(仅用于阐述的成员函数*)

非成员函数

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