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) |