completion_future, classe
Représente un avenir correspondant à une opération asynchrone AMP C++.
Syntaxe
class completion_future;
Membres
Constructeurs publics
Nom | Description |
---|---|
constructeur completion_future | Initialise une nouvelle instance de la classe completion_future . |
~completion_future Destructeur | Détruit l’objet completion_future . |
Méthodes publiques
Nom | Description |
---|---|
get | Attend que l’opération asynchrone associée se termine. |
then | Chaîne un objet de fonction de rappel à l’objet completion_future à exécuter lorsque l’opération asynchrone associée termine l’exécution. |
to_task | Retourne un task objet correspondant à l’opération asynchrone associée. |
valable | Obtient une valeur booléenne qui indique si l’objet est associé à une opération asynchrone. |
wait | Bloque jusqu’à ce que l’opération asynchrone associée se termine. |
wait_for | Bloque jusqu’à ce que l’opération asynchrone associée se termine ou que l’heure spécifiée soit _Rel_time écoulée. |
wait_until | Bloque jusqu’à ce que l’opération asynchrone associée se termine ou jusqu’à ce que l’heure actuelle dépasse la valeur spécifiée par _Abs_time . |
Opérateurs publics
Nom | Description |
---|---|
operator std ::shared_future<void> | Convertit implicitement l’objet completion_future en objet std::shared_future . |
operator= | Copie le contenu de l’objet spécifié completion_future dans celui-ci. |
Hiérarchie d'héritage
completion_future
Spécifications
En-tête : amprt.h
Espace de noms : concurrency
completion_future
Initialise une nouvelle instance de la classe completion_future
.
Syntaxe
completion_future();
completion_future(
const completion_future& _Other );
completion_future(
completion_future&& _Other );
Paramètres
_Autre
Objet completion_future
à copier ou déplacer.
Liste des surcharges
Nom | Description |
---|---|
completion_future(); |
Initialise une nouvelle instance de la completion_future classe |
completion_future(const completion_future& _Other); |
Initialise une nouvelle instance de la completion_future classe en copiant un constructeur. |
completion_future(completion_future&& _Other); |
Initialise une nouvelle instance de la completion_future classe en déplaçant un constructeur. |
get
Attend que l’opération asynchrone associée se termine. Lève l’exception stockée si une exception a été rencontrée pendant l’opération asynchrone.
Syntaxe
void get() const;
operator std ::shared_future<void>
Convertit implicitement l’objet completion_future
en objet std::shared_future
.
Syntaxe
operator std::shared_future<void>() const;
Valeur de retour
Objet std::shared_future
.
opérateur =
Copie le contenu de l’objet spécifié completion_future
dans celui-ci.
Syntaxe
completion_future& operator= (const completion_future& _Other );
completion_future& operator= (completion_future&& _Other );
Paramètres
_Autre
Objet à partir duquel effectuer la copie.
Valeur de retour
Référence à cet completion_future
objet.
Liste des surcharges
Nom | Description |
---|---|
completion_future& operator=(const completion_future& _Other); |
Copie le contenu de l’objet spécifié completion_future dans celui-ci à l’aide d’une copie approfondie. |
completion_future& operator=(completion_future&& _Other); |
Copie le contenu de l’objet spécifié completion_future dans celui-ci, à l’aide d’une affectation de déplacement. |
, puis
Chaîne un objet de fonction de rappel à l’objet completion_future
à exécuter lorsque l’opération asynchrone associée termine l’exécution.
Syntaxe
template <typename _Functor>
void then(const _Functor & _Func ) const;
Paramètres
_Foncteur
Le functor de rappel.
_Func
Objet de fonction de rappel.
to_task
Retourne un task
objet correspondant à l’opération asynchrone associée.
Syntaxe
concurrency::task<void> to_task() const;
Valeur de retour
Objet task
correspondant à l’opération asynchrone associée.
valide
Obtient une valeur booléenne qui indique si l’objet est associé à une opération asynchrone.
Syntaxe
bool valid() const;
Valeur de retour
true
si l’objet est associé à une opération asynchrone ; sinon, false
.
wait
Bloque jusqu’à ce que l’opération asynchrone associée se termine.
Syntaxe
void wait() const;
wait_for
Bloque jusqu’à ce que l’opération asynchrone associée se termine ou que le temps spécifié soit _Rel_time
écoulé.
Syntaxe
template <
class _Rep,
class _Period
>
std::future_status::future_status wait_for(
const std::chrono::duration< _Rep, _Period>& _Rel_time ) const;
Paramètres
_Reps
Type arithmétique qui représente le nombre de graduations.
_Période
Un std ::ratio qui représente le nombre de secondes qui s’écoulent par graduation.
_Rel_time
Durée maximale d’attente de la fin de l’opération.
Valeur de retour
Retourne :
std::future_status::deferred
si l’opération asynchrone associée n’est pas en cours d’exécution.std::future_status::ready
si l’opération asynchrone associée est terminée.std::future_status::timeout
si la période spécifiée s’est écoulée.
wait_until
Bloque jusqu’à ce que l’opération asynchrone associée se termine ou jusqu’à ce que l’heure actuelle dépasse la valeur spécifiée par _Abs_time
.
Syntaxe
template <
class _Clock,
class _Duration
>
std::future_status::future_status wait_until(
const std::chrono::time_point< _Clock, _Duration>& _Abs_time ) const;
Paramètres
_Horloge
Horloge sur laquelle ce point de temps est mesuré.
_Durée
Intervalle de temps depuis le début de _Clock
l’époque, après lequel la fonction expire.
_Abs_time
Point dans le temps après lequel la fonction expire.
Valeur de retour
Retourne :
std::future_status::deferred
si l’opération asynchrone associée n’est pas en cours d’exécution.std::future_status::ready
si l’opération asynchrone associée est terminée.std::future_status::timeout
si la période spécifiée s’est écoulée.
~completion_future
Détruit l’objet completion_future
.
Syntaxe
~completion_future();