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*/ ;
( exposition uniquement* )

Le type de retour de generator::begin . Modélise indirectly_readable et input_iterator .

Table des matières

Types membres

Type de membre Définition
value_type std::generator::value
difference_type std::ptrdiff_t

Membres de données

Membre Description
std:: coroutine_handle < std :: generator :: promise_type > coroutine_ Le gestionnaire de coroutine
( objet membre d'exposition uniquement* )

Fonctions membres

construit un itérateur
(fonction membre publique)
assigne un autre itérateur
(fonction membre publique)
retourne une valeur sous-jacente
(fonction membre publique)
avance l'itérateur
(fonction membre publique)

std::generator:: iterator :: iterator

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

Initialise coroutine_ avec std:: exchange ( other. coroutine_ , { } ) ; .

std::generator:: iterator :: operator=

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

Équivalent à coroutine_ = std:: exchange ( other. coroutine_ , { } ) ; .

Retourne : * this .

std::generator:: iterator :: operator*

reference operator * ( ) const
noexcept ( std:: is_nothrow_copy_constructible_v < reference > ) ;
(depuis C++23)
  1. Soit reference le type sous-jacent du std::generator .
  2. Soit pour un objet générateur x sa coroutine_ dans la pile * x. active_ .
  3. Soit x. active_ - > top ( ) qui fait référence à une coroutine suspendue avec l'objet promesse p .

Équivalent à 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) Soit pour un objet générateur x la coroutine_ dans la pile * x. active_ .
Équivalent à x. active_ - > top ( ) . resume ( ) .
Retourne : * this .
2) Équivalent à ++* this ; .

Fonctions non membres

(C++23)
compare l'itérateur sous-jacent avec un sentinelle
(fonction)

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

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

Équivalent à return i. coroutine_ . done ( ) ; .

L'opérateur != est synthétisé à partir de operator== .

Cette fonction n'est pas visible par la recherche non qualifiée ordinaire ou la recherche qualifiée , et ne peut être trouvée que par la recherche dépendante des arguments lorsque std::generator:: iterator est une classe associée des arguments.

Exemple