std::ranges::join_with_view<V,Pattern>::iterator
template< bool Const > class /*iterator*/ |
(since C++23) | |
The return type of join_with_view::begin
, and of join_with_view::end
when both the outer range V
and the inner range ranges::range_reference_t<V> satisfy common_range
and the parent join_with_view
is a forward_range
.
If either V
or Pattern
is not a simple view, Const
is true for iterators returned from the const overloads, and false otherwise. If V
and Pattern
are simple views, 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.
|
InnerBase (private)
|
ranges::range_reference_t<Base>. The name is for exposition only. |
PatternBase (private)
|
const Pattern if Const is true , otherwise Pattern. The name is for exposition only.
|
iterator_concept
|
|
iterator_category
|
Defined only if std::common_reference_t<ranges::range_reference_t<InnerBase>, ranges::range_reference_t<PatternBase>> is not an lvalue reference;
|
value_type
|
std::common_type_t<ranges::range_value_t<InnerBase>, ranges::range_value_t<PatternBase>> |
difference_type
|
std::common_type_t<ranges::range_difference_t<Base>, ranges::range_difference_t<InnerBase>, ranges::range_difference_t<PatternBase>> |
Member functions
(C++23) |
constructs an iterator (public member function) |
(C++23) |
accesses the element (public member function) |
advances or decrements the underlying iterators (public member function) |
Non-member functions
(C++23) |
compares the underlying iterators (function) |
(C++23) |
casts the result of dereferencing the underlying iterator to its associated rvalue reference type (function) |
(C++23) |
swaps the objects pointed to by two underlying iterators (function) |