std::ranges::zip_transform_view<F,Views...>::iterator
class /*iterator*/;
(exposition only*)
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 type /*iterator*/<true> or /*iterator*/<false> treats the underlying views as const-qualified or non-const-qualified respectively.
[edit] Member types
Parent
(private)
zip_transform_view
if Const is false, const zip_transform_view otherwise.(exposition-only member type*)
Base
(private)
InnerView
if Const is false, const InnerView otherwise.(exposition-only member type*)
iterator_category
(conditionally present)
Let /*maybe-const*/<Const, F>& denote const F& if Const is true, F& otherwise.
Let /*maybe-const*/<Const, Views> denote const Views if Const is true, Views otherwise.
Let /*POT*/ denote the pack of types
std::iterator_traits <std::iterator_t<
/*maybe-const*/<Const, Views>>>::iterator_category...
If /*Base*/ models forward_range
, then iterator_category
denotes:
- std::input_iterator_tag , if std::invoke_result_t </*maybe-const*/<Const, F>&,
ranges::range_reference_t </*maybe-const*/<Const, Views>>...>
- is not a reference.
- Otherwise,
-
- (std::derived_from </*POT*/, std::random_access_iterator_tag > && ...) is true.
- Otherwise, std::bidirectional_iterator_tag , if
- (std::derived_from </*POT*/, std::bidirectional_iterator_tag > && ...) is true.
- Otherwise, std::forward_iterator_tag , if
- (std::derived_from </*POT*/, std::forward_iterator_tag > && ...) is true.
- Otherwise, std::input_iterator_tag .
- (std::derived_from </*POT*/, std::random_access_iterator_tag > && ...) is true.
Not present if /*Base*/ does not model forward_range
.
iterator_concept
/*ziperator*/<Const>::iterator_concept
value_type
Let /*RREF*/ be ranges::range_reference_t <Views>...,
and /*CRREF*/ be ranges::range_reference_t <const Views>.... Then:
- std::remove_cvref_t <std::invoke_result_t <F&, /*RREF*/>> if Const is false,
- std::remove_cvref_t <std::invoke_result_t <const F&, /*CRREF*/>> otherwise.
difference_type
range::range_difference_t</*Base*/>
[edit] Data members
[edit] Member functions
(public member function)
(public member function)
[edit] Non-member functions
[edit] Example
Reason: no example