std::ranges::join_view<V>::iterator

From cppreference.com
< cpp‎ | ranges‎ | join view
 
 
Ranges library
Range access
Range conversions
(C++23)
Range primitives



Dangling iterator handling
Range concepts
Views

Factories






Adaptors
Range adaptor objects
Range adaptor closure objects
Helper items
 
 
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 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.

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

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

constructs an iterator
(public member function)
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

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)