table of contents
- Tumbleweed 2024.07.05-1.3
- Leap-16.0
std::ranges::zip_transform_view::iterator(3) | C++ Standard Libary | std::ranges::zip_transform_view::iterator(3) |
NAME¶
std::ranges::zip_transform_view::iterator - std::ranges::zip_transform_view::iterator
Synopsis¶
template< bool Const > (since C++23)
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.
Member types¶
Member type Definition
zip_transform_view if Const is false, const zip_transform_view
Parent (private) otherwise.
(exposition-only member type*)
Base (private) InnerView if Const is false, const InnerView otherwise.
(exposition-only member type*)
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>>...>
iterator_category is not a reference.
(optional) * Otherwise,
* std::random_access_iterator_tag, if
(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.
Not present if /*Base*/ does not model forward_range.
iterator_concept /*ziperator*/<Const>::iterator_concept
Let /*RREF*/ be ranges::range_reference_t<Views>...,
and /*CRREF*/ be ranges::range_reference_t<const Views>.... Then:
value_type * 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*/>
Data members
Member object Definition
parent_ (private) A pointer Parent* to the parent object
(exposition-only member object*)
inner_ (private) An iterator of type ziperator<Const>.
(exposition-only member type*)
Member functions¶
constructor constructs an iterator
(C++23) (public member function)
operator* obtains the result of applying the invocable object to the
(C++23) underlying poined-to elements
(public member function)
operator[] obtains the result of applying the invocable object to the
(C++23) underlying elements at given offset
(public member function)
operator++
operator++(int)
operator-- advances or decrements the underlying iterator
operator--(int) (public member function)
operator+=
operator-=
(C++23)
Non-member functions¶
operator== compares the underlying iterators
operator<=> (function)
(C++23)
operator+ performs iterator arithmetic on underlying iterators
operator- (function)
(C++23)
Example¶
This section is incomplete
Reason: no example
Category:¶
* Todo no example
2024.06.10 | http://cppreference.com |