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*/ ;
( Nur zur Veranschaulichung* )

Der Rückgabetyp von generator::begin . Modelliert indirectly_readable und input_iterator .

Inhaltsverzeichnis

Mitgliedertypen

Mitgliedstyp Definition
value_type std::generator::value
difference_type std::ptrdiff_t

Datenmitglieder

Mitglied Beschreibung
std:: coroutine_handle < std :: generator :: promise_type > coroutine_ Das Coroutine-Handle
( Nur zur Veranschaulichung verwendetes Mitgliedsobjekt* )

Memberfunktionen

Konstruiert einen Iterator
(öffentliche Elementfunktion)
weist einen anderen Iterator zu
(öffentliche Elementfunktion)
gibt einen zugrundeliegenden Wert zurück
(öffentliche Elementfunktion)
erhöht den Iterator
(öffentliche Elementfunktion)

std::generator:: iterator :: iterator

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

Initialisiert coroutine_ mit std:: exchange ( other. coroutine_ , { } ) ; .

std::generator:: iterator :: operator=

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

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

Rückgabewert: * this .

std::generator:: iterator :: operator*

reference operator * ( ) const
noexcept ( std:: is_nothrow_copy_constructible_v < reference > ) ;
(seit C++23)
  1. Sei reference der zugrundeliegende Typ von std::generator .
  2. Sei für ein Generator-Objekt x dessen coroutine_ im Stack * x. active_ .
  3. Sei x. active_ - > top ( ) eine Referenz auf eine suspendierte Coroutine mit Promise-Objekt p .

Äquivalent zu return static_cast < reference > ( * p. value_ ) ; .

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

constexpr /*iterator*/ & operator ++ ( ) ;
(1) (seit C++23)
constexpr void operator ++ ( int ) ;
(2) (seit C++23)
1) Angenommen, für ein Generator-Objekt x befinde sich die coroutine_ im Stack * x. active_ .
Entspricht x. active_ - > top ( ) . resume ( ) .
Rückgabewert: * this .
2) Entspricht ++* this ; .

Nicht-Member-Funktionen

(C++23)
vergleicht den zugrunde liegenden Iterator mit einem Sentinel
(Funktion)

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

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

Entspricht return i. coroutine_ . done ( ) ; .

Der != -Operator wird aus operator== synthetisiert .

Diese Funktion ist für gewöhnliche unqualifizierte oder qualifizierte Suche nicht sichtbar und kann nur durch argumentabhängige Suche gefunden werden, wenn std::generator:: iterator eine assoziierte Klasse der Argumente ist.

Beispiel