std::execution::just
| 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
- std::invocable<execution::just_t, Args...>,
- std::invocable<const execution::just_t, Args...>,
- std::invocable<execution::just_t&, Args...>, und
- std::invocable<const execution::just_t&, Args...>.
Andernfalls nimmt kein Funktionsaufrufoldoperator von execution::just_t an der Überladungsauflösung teil.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |