Namensräume
Varianten
Aktionen

std::execution::just

Von cppreference.com
< cpp‎ | execution
 
 
 
Definiert in Header <execution>
struct just_t { /*nicht spezifiziert*/ };
(1) (seit C++26)
inline constexpr just_t just{};
(2) (seit C++26)
(Customization-Point-Objekt)
Aufruf-Signatur
execution::sender auto just( auto&&... values );
(seit C++26)

Eine Sender-Factory, die einen Sender zurückgibt, welcher sofort durch Aufruf von set_value() des Receivers vervollständigt wird.

Sei ts ein Pack von Unterausdrücken. Der Ausdruck just(ts...) ist ausdrucksäquivalent zu /*make-sender*/(just, /*product-type*/(ts...))

Customization Point Objects

Der Name execution::just bezeichnet ein Customization Point Object, welches ein const Funktionsobjekt eines literalen semiregular Klassentyps ist. Die cv-unqualified Version seines Typs ist ein Tag-Typ, der als execution::just_t bezeichnet wird.

Alle Instanzen von execution::just_t sind gleich. Die Auswirkungen des Aufrufs verschiedener Instanzen vom Typ execution::just_t mit denselben Argumenten sind äquivalent, unabhängig davon, ob der die Instanz bezeichnende Ausdruck ein lvalue oder rvalue ist und ob er const-qualifiziert ist oder nicht (eine volatile-qualifizierte Instanz ist jedoch nicht zwingend aufrufbar). Somit kann execution::just frei kopiert werden und seine Kopien können austauschbar verwendet werden.

Gegeben sei eine Menge von Typen Args.... Wenn std::declval<Args>()... die oben genannten Anforderungen an Argumente für execution::just erfüllen, modelliert execution::just_t

Andernfalls nimmt kein Funktionsaufrufoldoperator von execution::just_t an der Überladungsauflösung teil.

[bearbeiten] Beispiel