std::ranges::zip_view<Views...>::iterator
From cppreference.com
template< bool Const > class /*iterator*/; |
(1) | (exposition only*) |
Helper concepts |
||
template< bool C, class... Views > concept /*all-forward*/ = |
(2) | (exposition only*) |
template< bool C, class... Views > concept /*all-bidirectional*/ = |
(3) | (exposition only*) |
template< bool C, class... Views > concept /*all-random-access*/ = |
(4) | (exposition only*) |
The iterator type of a possibly const-qualified zip_view
, returned by zip_view::begin
and in certain cases by zip_view::end
. The name of this class template (shown here as iterator
) is unspecified.
The type /*iterator*/<true> or /*iterator*/<false> treats the underlying views as const-qualified or non-const-qualified respectively.
Member types
Member type | Definition |
iterator_concept
|
|
iterator_category
|
|
value_type
|
|
difference_type
|
|
Data members
Typical implementations of iterator
hold only one non-static data member: a std::tuple<ranges::iterator_t<Views>...> or std::tuple<ranges::iterator_t<const Views>...> when Const
is false or true respectively.
For the purpose of exposition, the underlying iterators in that std::tuple are shown as is_...
here.
Member functions
(C++23) |
constructs an iterator (public member function) |
(C++23) |
obtains a tuple-like value that consists of underlying pointed-to elements (public member function) |
(C++23) |
obtains a tuple-like value that consists of underlying elements at given offset (public member function) |
advances or decrements the underlying iterators (public member function) |
Non-member functions
compares the underlying iterators (function) | |
(C++23) |
performs iterator arithmetic on underlying iterators (function) |
(C++23) |
obtains a tuple-like value that denotes underlying pointed-to elements to be moved (function) |
(C++23) |
swaps underlying pointed-to elements (function) |