[ Web Proxy ]
URL:
Viewing: https://en.cppreference.com/cpp/ranges/zip_transform_view/iterator#Member_functions [Back]  [Original]

std::ranges::zip_transform_view<F,Views...>::iterator - cppreference.com
cppreference.com
Namespaces
Variants

std::ranges::zip_transform_view<F,Views...>::iterator

From cppreference.com
 
 
Ranges library
Range adaptors
 
 
template< bool Const >
class /*iterator*/;
(since C++23)
(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

Exposition-only types
Type Definition
Parent (private) maybe-const <Const, zip_transform_view>
(exposition-only member type*)
Base (private) maybe-const <Const, InnerView>
(exposition-only member type*)
Iterator property types
Type Definition
iterator_category
(conditionally present)
(present only if Base
models forward_range)

Let /*POT*/ denote the pack of types

std::iterator_traits<std::iterator_t<
    /*maybe-const*/<Const, Views>>>::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::derived_from</*POT*/, std::bidirectional_iterator_tag> && ...) is true. Otherwise,
(std::derived_from</*POT*/, std::forward_iterator_tag> && ...) is true. Otherwise,
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*/>

Data members

Member Description
Parent* parent_ (private) a pointer to the parent object
(exposition-only member object*)
ziperator<Const> inner_ (private) an iterator
(exposition-only member object*)

Member functions

constructs an iterator
(public member function)
obtains the result of applying the invocable object to the underlying pointed-to elements
(public member function)
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) [edit]

Non-member functions

compares the underlying iterators
(function)
performs iterator arithmetic on underlying iterators
(function)

Example


Web Proxy Viewer  |  New URL  |  Original Page