std::ranges::zip_transform_view<F,Views...>::iterator
template< bool Const > class /*iterator*/; // exposition only |
(since C++23) | |
The iterator type of a possibly const-qualified zip_transform_view
, returned by zip_transform_view::begin
and in certain cases by zip_transform_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 |
Parent (private)
|
zip_transform_view if Const is false, const zip_transform_view otherwise. The name is for exposition only.
|
Base (private)
|
InnerView if Const is false, const InnerView otherwise. The name is for exposition only.
|
iterator_category
|
Let /*maybe-const*/<Const, F>& denote const F& if Const is true, F& otherwise. Let /*POT*/ denote the pack of types
std::iterator_traits<std::iterator_t< If /*Base*/ models
Not present if /*Base*/ does not model |
iterator_concept
|
/*ziperator*/<Const>::iterator_concept |
value_type
|
Let /*RREF*/ be ranges::range_reference_t<Views>...,
|
difference_type
|
range::range_difference_t</*Base*/> |
Data members
Typical implementations of iterator
hold two non-static data members:
- a pointer
parent_
of typeParent
to the parent object - an iterator
inner_
of typeziperator<Const>
.
These names are for exposition purposes only.
Member functions
(C++23) |
constructs an iterator (public member function) |
(C++23) |
obtains the result of applying the invocable object to the underlying poined-to elements (public member function) |
(C++23) |
obtains the result of applying the invocable object to the underlying elements at given offset (public member function) |
advances or decrements the underlying iterator (public member function) |
Non-member functions
(C++23) |
compares the underlying iterators (function) |
(C++23) |
performs iterator arithmetic on underlying iterators (function) |
Example
This section is incomplete Reason: no example |