std::ranges::join_view<V>::iterator
template< bool Const > class /*iterator*/ |
(since C++20) | |
The return type of join_view::begin
, and of join_view::end
when both the outer range V
and the inner range ranges::range_reference_t<V> satisfy common_range
and the parent join_view
is a forward_range
.
If V
is not a simple view (e.g. if ranges::iterator_t<const V> 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.
The name of this class template (shown here as /*iterator*/) is unspecified.
Member types
Member type | Definition |
Parent (private)
|
const join_view<V> if Const is true , otherwise join_view<V>. The name is for exposition only.
|
Base (private)
|
const V if Const is true , otherwise V. The name is for exposition only.
|
OuterIter (private)
|
ranges::iterator_t<Base>. The name is for exposition only. |
InnerIter (private)
|
ranges::iterator_t<ranges::range_reference_t<Base>>. The name is for exposition only. |
iterator_concept
|
|
iterator_category
|
Defined only if iterator::iterator_concept (see above) denotes std::forward_iterator_tag.Let
|
value_type
|
ranges::range_value_t<ranges::range_reference_t<Base>> |
difference_type
|
std::common_type_t<ranges::range_difference_t<Base>, |
Member objects
Member name | Definition |
outer_ (private)
|
an object of type OuterIter. The name is for exposition only. |
inner_ (private)
|
an object of type InnerIter. The name is for exposition only. |
parent_ (private)
|
an object of type Parent. The name is for exposition only. |
Member functions
(C++20) |
constructs an iterator (public member function) |
(C++20) |
accesses the element (public member function) |
advances or decrements the underlying iterators (public member function) | |
(C++20) |
skips over empty inner ranges; the name is for exposition only (exposition-only member function) |
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) |