Namespaces
Variants

std:: generator<Ref,V,Allocator>:: iterator

From cppreference.net
Utilities library
Coroutine support
Coroutine traits
Coroutine handle
No-op coroutines
Trivial awaitables
Range generators
(C++23)
Ranges library
Range adaptors
class /*iterator*/ ;
( solo para exposición* )

El tipo de retorno de generator::begin . Modela indirectly_readable e input_iterator .

Contenidos

Tipos de miembros

Tipo de miembro Definición
value_type std::generator::value
difference_type std::ptrdiff_t

Miembros de datos

Miembro Descripción
std:: coroutine_handle < std :: generator :: promise_type > coroutine_ El manejador de corrutina
( objeto miembro solo para exposición* )

Funciones miembro

construye un iterador
(función miembro pública)
asigna otro iterador
(función miembro pública)
devuelve un valor subyacente
(función miembro pública)
avanza el iterador
(función miembro pública)

std::generator:: iterator :: iterator

/*iterator*/ ( /*iterator*/ && other ) noexcept ;
(desde C++23)

Inicializa coroutine_ con std:: exchange ( other. coroutine_ , { } ) ; .

std::generator:: iterator :: operator=

/*iterator*/ & operator = ( /*iterator*/ && other ) noexcept ;
(desde C++23)

Equivalente a coroutine_ = std:: exchange ( other. coroutine_ , { } ) ; .

Retorna: * this .

std::generator:: iterator :: operator*

reference operator * ( ) const
noexcept ( std:: is_nothrow_copy_constructible_v < reference > ) ;
(desde C++23)
  1. Sea reference el tipo subyacente de std::generator .
  2. Sea para algún objeto generador x su coroutine_ en la pila * x. active_ .
  3. Sea x. active_ - > top ( ) referido a una corrutina suspendida con objeto de promesa p .

Equivalente a return static_cast < reference > ( * p. value_ ) ; .

std::generator:: iterator :: operator++

constexpr /*iterator*/ & operator ++ ( ) ;
(1) (desde C++23)
constexpr void operator ++ ( int ) ;
(2) (desde C++23)
1) Sea para algún objeto generador x la coroutine_ en la pila * x. active_ .
Equivalente a x. active_ - > top ( ) . resume ( ) .
Retorna: * this .
2) Equivalente a ++* this ; .

Funciones no miembro

(C++23)
compara el iterador subyacente con un centinela
(función)

operator== (std::generator:: iterator )

friend bool operator == ( const /*iterator*/ & i, std:: default_sentinel_t ) ;
(desde C++23)

Equivalente a return i. coroutine_ . done ( ) ; .

El operador != es sintetizado a partir de operator== .

Esta función no es visible para la búsqueda no calificada ordinaria o la búsqueda calificada , y solo puede ser encontrada mediante búsqueda dependiente de argumentos cuando std::generator:: iterator es una clase asociada de los argumentos.

Ejemplo