Namensräume
Varianten
Aktionen

std::execution::schedule, std::execution::schedule_result_t

Von cppreference.com
< cpp‎ | execution
 
 
 
Definiert in Header <execution>
struct schedule_t { /*nicht spezifiziert*/ };
(1) (seit C++26)
inline constexpr schedule_t schedule{};
(2) (seit C++26)
(Customization-Point-Objekt)
Aufruf-Signatur
execution::sender auto schedule( execution::scheduler auto sch );
(seit C++26)
Hilfs-Ergebnistypen
template< execution::scheduler Sch >
using schedule_result_t = decltype(schedule(std::declval<Sch>()));
(3) (seit C++26)

Ermittelt einen Sender, der den Start eines Task-Graphen auf dem bereitgestellten Scheduler beschreibt.

Für einen Unterausdruck sch ist der Ausdruck schedule(sch) ausdrucksäquivalent zu sch.schedule().

Customization Point Objects

Der Name execution::schedule bezeichnet ein Customization Point Object, ein konstantes Function Object eines literalen semiregular Klassentyps. Die cv-unqualifizierte Version seines Typs ist ein Tag-Typ, der als execution::schedule_t bezeichnet wird.

Alle Instanzen von execution::schedule_t sind gleich. Die Effekte des Aufrufs verschiedener Instanzen des Typs execution::schedule_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 muss jedoch nicht aufrufbar sein). Daher kann execution::schedule frei kopiert werden und seine Kopien können austauschbar verwendet werden.

Gegeben eine Menge von Typen Args..., wenn std::declval<Args>()... die Anforderungen für Argumente an execution::schedule oben erfüllen, modelliert execution::schedule_t

Andernfalls nimmt kein Funktionsaufrufoperator von execution::schedule_t an der Überladungsauflösung teil.

[bearbeiten] Beispiel