Класс 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_future std::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_future
std::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 объекта в этот объект с помощью назначения перемещения. |
then …
Связывает объект функции обратного вызова с 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
Время ожидания функции.
Возвращаемое значение
Возвращает:
std::future_status::deferred
Если связанная асинхронная операция не выполняется.std::future_status::ready
Если связанная асинхронная операция завершена.std::future_status::timeout
Значение
~completion_future
Уничтожает completion_future
объект.
Синтаксис
~completion_future();