table of contents
        
      
      
    - Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::generator::iterator(3) | C++ Standard Libary | std::generator::iterator(3) | 
NAME¶
std::generator::iterator - std::generator::iterator
Synopsis¶
 class /*iterator*/; (since C++23)
  
   (exposition only*)
  
   The return type of generator::begin.
  
   Models indirectly_readable and input_iterator.
Member types¶
 Member type Definition
  
   value_type std::generator::value
  
   difference_type std::ptrdiff_t
  
   Data members
  
   Member name Definition
  
   coroutine_ A coroutine handle of type
  
   (private) std::coroutine_handle<std::generator::promise_type>.
  
   (exposition-only member object*)
Member functions¶
 constructor constructs an iterator
  
   (public member function)
  
   operator= assigns another iterator
  
   (public member function)
  
   operator* returns an underlying value
  
   (public member function)
  
   operator++ advances the iterator
  
   operator++(int) (public member function)
std::generator::iterator::iterator
  
   /*iterator*/( /*iterator*/&& other ) noexcept; (since C++23)
  
   Initializes coroutine_ with std::exchange(other.coroutine_, {});.
std::generator::iterator::operator=
  
   /*iterator*/& operator=( /*iterator*/&& other ) noexcept; (since
    C++23)
  
   Equivalent to coroutine_ = std::exchange(other.coroutine_, {});.
  
   Returns: *this.
std::generator::iterator::operator*
  
   reference operator*() const (since C++23)
  
   noexcept( std::is_nothrow_copy_constructible_v<reference> );
  
   1. Let reference be the std::generator's underlying type.
  
   2. Let for some generator object x its coroutine_ be in the stack *x.active_.
  
   3. Let x.active_->top() refer to a suspended coroutine with promise object
    p.
  
   Equivalent to return static_cast<reference>(*p.value_);.
std::generator::iterator::operator++
  
   constexpr /*iterator*/& operator++(); (1) (since C++23)
  
   constexpr void operator++( int ); (2) (since C++23)
  
   1) Let for some generator object x the coroutine_ be in the stack *x.active_.
  
   Equivalent to x.active_->top().resume().
  
   Returns: *this.
  
   2) Equivalent to ++*this;.
Non-member functions¶
 operator== compares the underlying iterator with a sentinel
  
   (C++23) (function)
operator==(std::generator::iterator)
  
   friend bool operator==( const /*iterator*/& i, (since C++23)
  
   std::default_sentinel_t );
  
   Equivalent to return i.coroutine_.done();.
  
   The != operator is synthesized from operator==.
  
   This function is not visible to ordinary unqualified or qualified lookup, and
    can
  
   only be found by argument-dependent lookup when std::generator::iterator is
    an
  
   associated class of the arguments.
Example¶
 This section is incomplete
  
   Reason: no example
Category:¶
* Todo no example
| 2024.06.10 | http://cppreference.com |