Partager via


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.
Valide Obtient une valeur booléenne qui indique si l’objet est associé à une opération asynchrone.
Attendre 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

_Autres
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

_Autres
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.

alors...

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

_Rep
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 _Clockl’époque, après lequel la fonction expire.

_Abs_time
Point dans le temps après lequel la fonction expire.

Valeur de retour

Retourne :

  1. std::future_status::deferred si l’opération asynchrone associée n’est pas en cours d’exécution.

  2. std::future_status::ready si l’opération asynchrone associée est terminée.

  3. 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();

Voir aussi

Concurrency, espace de noms (C++ AMP)