Namespaces
Variants

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

De fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support du langage
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (déprécié en C++20)
 
Support des coroutines
Traits de coroutine
Gestionnaire de coroutine
Coroutines sans opération
Attendables triviaux
Générateurs de plages
(C++23)
 
Bibliothèque de plages
Adaptateurs de plages
 
 
class /*iterator*/;
(exposition uniquement*)

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

Types membres

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_ un 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