table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::ranges::elements_view::iterator(3) | C++ Standard Libary | std::ranges::elements_view::iterator(3) | 
NAME¶
std::ranges::elements_view::iterator - std::ranges::elements_view::iterator
Synopsis¶
 template< bool Const > (exposition only*)
  
   class /*iterator*/;
  
   The return type of elements_view::begin, and of elements_view::end when the
  
   underlying view 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.
Member types¶
 Member type Definition
  
   Base (private) const V if Const is true, otherwise V.
  
   (exposition-only member type*)
  
   Denotes:
  
   * std::random_access_iterator_tag, if Base models
  
   random_access_range. Otherwise,
  
   iterator_concept * std::bidirectional_iterator_tag, if Base models
  
   bidirectional_range. Otherwise,
  
   * std::forward_iterator_tag, if Base models forward_range.
  
   Otherwise,
  
   * std::input_iterator_tag.
  
   Not defined, if Base does not model forward_range. Otherwise,
  
   * std::input_iterator_tag, if std::get<N>(*current_) is an
  
   rvalue. Otherwise, let C be the type
  
   iterator_category
    std::iterator_traits<std::iterator_t<Base>>::iterator_category.
  
   * std::random_access_iterator_tag, if C models
  
   std::derived_from<std::random_access_iterator_tag>. Otherwise,
  
   * C.
  
   value_type std::remove_cvref_t<std::tuple_element_t<N,
  
   ranges::range_value_t<Base>>>
  
   difference_type ranges::range_difference_t<Base>
  
   Data members
  
   Member object Definition
  
   An iterator of type ranges::iterator_t<Base> to current element
  
   current_ (private) of underlying sequence.
  
   (exposition-only member object*)
Member functions¶
 constructor constructs an iterator
  
   (C++20) (public member function)
  
   base returns the underlying iterator
  
   (C++20) (public member function)
  
   operator* accesses the N^th tuple element
  
   (C++20) (public member function)
  
   operator[] accesses an element by index
  
   (C++20) (public member function)
  
   operator++
  
   operator++(int)
  
   operator-- advances or decrements the underlying iterator
  
   operator--(int) (public member function)
  
   operator+=
  
   operator-=
  
   (C++20)
Non-member functions¶
 operator==
  
   operator<
  
   operator> compares the underlying iterators
  
   operator<= (function)
  
   operator>=
  
   operator<=>
  
   (C++20)
  
   operator+ performs iterator arithmetic
  
   operator- (function)
  
   (C++20)
  
   Defect reports
  
   The following behavior-changing defect reports were applied retroactively to
  
   previously published C++ standards.
  
   DR Applied to Behavior as published Correct behavior
  
   P2259R1 C++20 member iterator_category is always defined only if Base models
  
   defined forward_range
  
   LWG 3555 C++20 the definition of iterator_concept made to consider
  
   ignores const
See also¶
 iterator the return type of ranges::transform_view::begin, and of
  
   (C++20) ranges::transform_view::end when the underlying view is a
    common_range
  
   (private member class template)
| 2024.06.10 | http://cppreference.com |