Namespaces
Variants
Views
Actions

std::ranges::enumerate_view<V>::iterator

From cppreference.com
 
 
Ranges library
Range adaptors
 
 
template< bool Const >
class /*iterator*/
(since C++23)
(exposition only*)

The return type of enumerate_view::begin, and of enumerate_view::end when the underlying view V is a common_range.

The type /*iterator*/<true> is returned by the const-qualified overloads. The type /*iterator*/<false> is returned by the non-const-qualified overloads.

Contents

[edit] Member types

Member type Definition
Base (private) const V if Const is true, otherwise V.
(exposition-only member type*)
iterator_category std::input_iterator_tag
iterator_concept
difference_type ranges::range_difference_t<Base>
value_type std::tuple<difference_type, ranges::range_value_t<Base>>
reference-type (private) std::tuple<difference_type, ranges::range_reference_t<Base>>
(exposition-only member type*)

[edit] Data members

Member name Definition
current_ (private) An iterator to the current element of type ranges::iterator_t<Base>
(exposition-only member object*)
pos_ (private) A current index of type difference_type
(exposition-only member object*)

[edit] Member functions

constructs an iterator
(public member function)
returns an iterator to current element
(public member function)
returns current index
(public member function)
accesses the element
(public member function)
accesses an element by index
(public member function)
advances or decrements the underlying iterator
(public member function) [edit]

[edit] Non-member functions

compares the underlying iterators
(function)
performs iterator arithmetic
(function)
(C++23)
casts the result of dereferencing the underlying iterator to its associated rvalue reference type
(function)

[edit] Example

[edit] References

  • C++23 standard (ISO/IEC 14882:2024):
  • 26.7.23.3 Class template enumerate_view::iterator [range.enumerate.iterator]