Поделиться через


Класс completion_future

Представляет будущее, соответствующее асинхронной операции C++ AMP.

Синтаксис

class completion_future;

Участники

Открытые конструкторы

Имя Описание
Конструктор completion_future Инициализирует новый экземпляр класса completion_future.
Деструктор ~completion_future Уничтожает completion_future объект.

Открытые методы

Имя Описание
get Ожидает завершения связанной асинхронной операции.
then Связывает объект функции обратного вызова с completion_future объектом, который будет выполняться при завершении связанной асинхронной операции.
to_task Возвращает объект, соответствующий связанной task асинхронной операции.
Действительны Получает логическое значение, которое указывает, связан ли объект с асинхронной операцией.
Подожди Блокируется до завершения связанной асинхронной операции.
wait_for Блокируется, пока связанная асинхронная операция не завершится или время, указанное _Rel_time в истечении срока действия.
wait_until Блокируется до завершения связанной асинхронной операции или до тех пор, пока текущее время не превысит указанное значение _Abs_time.

Открытые операторы

Имя Описание
оператор std::shared_future<void> Неявно преобразует объект в completion_futurestd::shared_future объект.
operator= Копирует содержимое указанного объекта completion_future в данный объект.

Иерархия наследования

completion_future

Требования

Заголовок: amprt.h

Пространство имен: concurrency

completion_future

Инициализирует новый экземпляр класса completion_future.

Синтаксис

completion_future();

completion_future(
    const completion_future& _Other );

completion_future(
    completion_future&& _Other );

Параметры

_Other
completion_future Объект для копирования или перемещения.

Список перегрузок

Имя Описание
completion_future(); Инициализирует новый экземпляр completion_future класса
completion_future(const completion_future& _Other); Инициализирует новый экземпляр completion_future класса путем копирования конструктора.
completion_future(completion_future&& _Other); Инициализирует новый экземпляр completion_future класса путем перемещения конструктора.

get

Ожидает завершения связанной асинхронной операции. Вызывает хранимый исключение, если он был обнаружен во время асинхронной операции.

Синтаксис

void get() const;

оператор std::shared_future<void>

Неявно преобразует объект в completion_futurestd::shared_future объект.

Синтаксис

operator std::shared_future<void>() const;

Возвращаемое значение

Объект std::shared_future.

operator=

Копирует содержимое указанного объекта completion_future в данный объект.

Синтаксис

completion_future&  operator= (const completion_future& _Other );
completion_future&  operator= (completion_future&& _Other );

Параметры

_Other
Объект, из которого выполняется копирование.

Возвращаемое значение

Ссылка на этот completion_future объект.

Список перегрузок

Имя Описание
completion_future& operator=(const completion_future& _Other); Копирует содержимое указанного completion_future объекта в этот объект с помощью глубокой копии.
completion_future& operator=(completion_future&& _Other); Копирует содержимое указанного completion_future объекта в этот объект с помощью назначения перемещения.

а затем —

Связывает объект функции обратного вызова с completion_future объектом, который будет выполняться при завершении связанной асинхронной операции.

Синтаксис

template <typename _Functor>
void then(const _Functor & _Func ) const;

Параметры

_Функтором
Обратный вызов functor.

_Func
Объект функции обратного вызова.

to_task

Возвращает объект, соответствующий связанной task асинхронной операции.

Синтаксис

concurrency::task<void> to_task() const;

Возвращаемое значение

task Объект, соответствующий связанной асинхронной операции.

Действительны

Получает логическое значение, которое указывает, связан ли объект с асинхронной операцией.

Синтаксис

bool valid() const;

Возвращаемое значение

true Значение , если объект связан с асинхронной операцией; falseв противном случае .

wait

Блокируется до завершения связанной асинхронной операции.

Синтаксис

void wait() const;

wait_for

Блокируется до завершения связанной асинхронной операции или времени, указанного _Rel_time в течение периода.

Синтаксис

template <
    class _Rep,
    class _Period
>
std::future_status::future_status wait_for(
    const std::chrono::duration< _Rep, _Period>& _Rel_time ) const;

Параметры

_Представитель
Арифметический тип, представляющий количество галок.

_Период
Std::ratio, представляющий количество секунд, истекающих на тик.

_Rel_time
Максимальное время ожидания завершения операции.

Возвращаемое значение

Возвращает:

  • std::future_status::deferred Если связанная асинхронная операция не выполняется.

  • std::future_status::ready Если связанная асинхронная операция завершена.

  • std::future_status::timeout Значение

wait_until

Блокируется до завершения связанной асинхронной операции или до тех пор, пока текущее время не превысит указанное значение _Abs_time.

Синтаксис

template <
    class _Clock,
    class _Duration
>
std::future_status::future_status wait_until(
    const std::chrono::time_point< _Clock, _Duration>& _Abs_time ) const;

Параметры

_Часы
Часы, на которых измеряется эта точка времени.

_Длительность
Интервал времени с начала _Clockэпохи, после которого функция будет истекает.

_Abs_time
Время ожидания функции.

Возвращаемое значение

Возвращает:

  1. std::future_status::deferred Если связанная асинхронная операция не выполняется.

  2. std::future_status::ready Если связанная асинхронная операция завершена.

  3. std::future_status::timeout Значение

~completion_future

Уничтожает completion_future объект.

Синтаксис

~completion_future();

См. также

Пространство имен Concurrency (C++ AMP)