table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::ranges::cartesian_product_view::iterator(3) | C++ Standard Libary | std::ranges::cartesian_product_view::iterator(3) | 
NAME¶
std::ranges::cartesian_product_view::iterator - std::ranges::cartesian_product_view::iterator
Synopsis¶
 template< bool Const > (since C++23)
  
   class /*iterator*/ (exposition only*)
  
   The return type of cartesian_product_view::begin, and of
    cartesian_product_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.
Member types¶
 Member type Definition
  
   iterator_category std::input_iterator_tag
  
   * std::random_access_iterator_tag, if
  
   /*cartesian-product-is-random-access*/<Const, First, Vs...> is
  
   modeled,
  
   * std::bidirectional_iterator_tag, if
  
   iterator_concept /*cartesian-product-is-bidirectional*/<Const, First,
    Vs...> is
  
   modeled,
  
   * std::forward_iterator_tag, if
  
   /*maybe-const*/<Const, First> models forward_range,
  
   * std::input_iterator_tag otherwise
  
   value_type std::tuple<ranges::range_value_t</*maybe-const*/<Const,
    First>>,
  
   ranges::range_value_t</*maybe-const*/<Const, Vs>>...>;
  
   std::tuple<ranges::range_reference_t</*maybe-const*/<Const,
  
   reference First>>,
  
   ranges::range_reference_t</*maybe-const*/<Const,
  
   Vs>>...>;
  
   An implementation-defined signed-integer-like type (maybe the
  
   difference_type smallest of such types), which is sufficiently wide to store
    the
  
   product of the maximum sizes of all underlying ranges, if such
  
   type exists.
  
   Parent (private) /*maybe-const*/<Const, cartesian_product_view>.
  
   (exposition-only member type*)
  
   Data members
  
   Member object Definition
  
   parent_ A pointer of type Parent to the parent cartesian_product_view.
  
   (private) (exposition-only member object*)
  
   A tuple of iterators to the current underlying elements of type
  
   current_ std::tuple<ranges::iterator_t</*maybe-const*/<Const,
    First>>,
  
   (private) ranges::iterator_t</*maybe-const*/<Const, Vs>>...>.
  
   (exposition-only member object*)
Member functions¶
 constructor constructs an iterator
  
   (C++23) (public member function)
  
   operator* accesses the element
  
   (C++23) (public member function)
  
   operator[] accesses an element by index
  
   (C++23) (public member function)
  
   operator++
  
   operator++(int)
  
   operator-- advances or decrements the underlying iterator
  
   operator--(int) (public member function)
  
   operator+=
  
   operator-=
  
   (C++23)
  
   next advances the iterator
  
   (C++23) (exposition-only member function*)
  
   prev decrements the iterator
  
   (C++23) (exposition-only member function*)
  
   distance_from returns the distance between two iterators
  
   (C++23) (exposition-only member function*)
Non-member functions¶
 operator== compares the underlying iterators
  
   operator<=> (function)
  
   (C++23)
  
   operator+ performs iterator arithmetic
  
   operator- (function)
  
   (C++23)
  
   iter_move casts the result of dereferencing the underlying iterator to its
  
   (C++23) associated rvalue reference type
  
   (function)
  
   iter_swap swaps underlying pointed-to elements
  
   (C++23) (function)
Example¶
 This section is incomplete
  
   Reason: no example
References¶
* C++23 standard (ISO/IEC 14882:2023):
  
   * 26.7.32.3 Class template cartesian_product_view::iterator
  
   [range.cartesian.iterator]
See also¶
Category:¶
* Todo no example
| 2024.06.10 | http://cppreference.com |