From cppreference.com
template<boolConst>class/*iterator*/(since C++20)
(exposition only*)The return type of
, and of
when both the outer range V and the inner range ranges::range_reference_t<V> satisfy
and the parent join_view is a
.
If V is not a
(e.g. if ranges::iterator_t<constV> is invalid or different from ranges::iterator_t<V>), Const is true for iterators returned from the const overloads, and false otherwise. If V is a simple view, Const is true if and only if ranges::range_reference_t<V> is a reference.
Member types
Member Definition Parent
<Const,ranges::join_view<V>>
(exposition-only member type*)Base
<Const,V>
(exposition-only member type*)OuterIterranges::iterator_t<Base>
(exposition-only member type*)InnerIterranges::iterator_t<ranges::range_reference_t<Base>>
(exposition-only member type*)iterator_concept
std::bidirectional_iterator_tag
, if ranges::range_reference_t<Base> is a reference type, and Base and ranges::range_reference_t<Base> each model
;
, if ranges::range_reference_t<Base> is a reference type, and Base and ranges::range_reference_t<Base> each model
;
otherwise.
iterator_category
(conditionally present)Defined only if iterator::iterator_concept (see above) denotes
. Let OUTERC be std::iterator_traits<ranges::iterator_t<Base>>::iterator_category, and let INNERC be std::iterator_traits<ranges::iterator_t<ranges::range_reference_t<Base>>>::
iterator_category.
std::bidirectional_iterator_tag
, if OUTERC and INNERC each model std::derived_from<std::bidirectional_iterator_tag>;
, if OUTERC and INNERC each model std::derived_from<std::forward_iterator_tag>;
otherwise.
value_typeranges::range_value_t<ranges::range_reference_t<Base>>difference_typestd::common_type_t<ranges::range_difference_t<Base>,
ranges::range_difference_t<ranges::range_reference_t<Base>>>Data members
Member Definition OuterIterouter_(private)An outer iterator
(exposition-only member object*)InnerIterinner_(private)An inner iterator
(exposition-only member object*)Parent*parent_(private)A pointer to the parent object
(exposition-only member object*)Member functions
Non-member functions
(C++20)
compares the underlying iterators
(function)(C++20)
casts the result of dereferencing the underlying iterator to its associated rvalue reference type
(function)(C++20)
swaps the objects pointed to by two underlying iterators
(function)