Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Represents a future corresponding to a C++ AMP asynchronous operation.
Syntax
class completion_future;
Members
Public Constructors
| Name | Description |
|---|---|
| completion_future Constructor | Initializes a new instance of the completion_future class. |
| ~completion_future Destructor | Destroys the completion_future object. |
Public Methods
| Name | Description |
|---|---|
| get | Waits until the associated asynchronous operation completes. |
| then | Chains a callback function object to the completion_future object to be executed when the associated asynchronous operation finishes execution. |
| to_task | Returns a task object corresponding to the associated asynchronous operation. |
| valid | Gets a Boolean value that indicates whether the object is associated with an asynchronous operation. |
| wait | Blocks until the associated asynchronous operation completes. |
| wait_for | Blocks until the associated asynchronous operation completes or the time specified by _Rel_time has elapsed. |
| wait_until | Blocks until the associated asynchronous operation completes or until the current time exceeds the value specified by _Abs_time. |
Public Operators
| Name | Description |
|---|---|
| operator std::shared_future<void> | Implicitly converts the completion_future object to an std::shared_future object. |
| operator= | Copies the contents of the specified completion_future object into this one. |
Inheritance Hierarchy
completion_future
Requirements
Header: amprt.h
Namespace: concurrency
completion_future
Initializes a new instance of the completion_future class.
Syntax
completion_future();
completion_future(
const completion_future& _Other );
completion_future(
completion_future&& _Other );
Parameters
_Other
The completion_future object to copy or move.
Overloads List
| Name | Description |
|---|---|
completion_future(); |
Initializes a new instance of the completion_future Class |
completion_future(const completion_future& _Other); |
Initializes a new instance of the completion_future class by copying a constructor. |
completion_future(completion_future&& _Other); |
Initializes a new instance of the completion_future class by moving a constructor. |
get
Waits until the associated asynchronous operation completes. Throws the stored exception if one was encountered during the asynchronous operation.
Syntax
void get() const;
operator std::shared_future<void>
Implicitly converts the completion_future object to an std::shared_future object.
Syntax
operator std::shared_future<void>() const;
Return Value
An std::shared_future object.
operator=
Copies the contents of the specified completion_future object into this one.
Syntax
completion_future& operator= (const completion_future& _Other );
completion_future& operator= (completion_future&& _Other );
Parameters
_Other
The object to copy from.
Return Value
A reference to this completion_future object.
Overloads List
| Name | Description |
|---|---|
completion_future& operator=(const completion_future& _Other); |
Copies the contents of the specified completion_future object into this one, using a deep copy. |
completion_future& operator=(completion_future&& _Other); |
Copies the contents of the specified completion_future object into this one, using a move assignment. |
then
Chains a callback function object to the completion_future object to be executed when the associated asynchronous operation finishes execution.
Syntax
template <typename _Functor>
void then(const _Functor & _Func ) const;
Parameters
_Functor
The callback functor.
_Func
The callback function object.
to_task
Returns a task object corresponding to the associated asynchronous operation.
Syntax
concurrency::task<void> to_task() const;
Return Value
A task object corresponding to the associated asynchronous operation.
valid
Gets a Boolean value that indicates whether the object is associated with an asynchronous operation.
Syntax
bool valid() const;
Return Value
true if the object is associated with an asynchronous operation; otherwise, false.
wait
Blocks until the associated asynchronous operation completes.
Syntax
void wait() const;
wait_for
Blocks until the associated asynchronous operation completes or the time that's specified by _Rel_time has elapsed.
Syntax
template <
class _Rep,
class _Period
>
std::future_status::future_status wait_for(
const std::chrono::duration< _Rep, _Period>& _Rel_time ) const;
Parameters
_Rep
An arithmetic type that represents the number of ticks.
_Period
A std::ratio that represents the number of seconds that elapse per tick.
_Rel_time
The maximum amount of time to wait for the operation to complete.
Return Value
Returns:
std::future_status::deferredif the associated asynchronous operation is not running.std::future_status::readyif the associated asynchronous operation is finished.std::future_status::timeoutif the specified time period has elapsed.
wait_until
Blocks until the associated asynchronous operation completes or until the current time exceeds the value specified by _Abs_time.
Syntax
template <
class _Clock,
class _Duration
>
std::future_status::future_status wait_until(
const std::chrono::time_point< _Clock, _Duration>& _Abs_time ) const;
Parameters
_Clock
The clock on which this time point is measured.
_Duration
The time interval since the start of _Clock's epoch, after which the function will time out.
_Abs_time
The point in time after which the function will time out.
Return Value
Returns:
std::future_status::deferredif the associated asynchronous operation is not running.std::future_status::readyif the associated asynchronous operation is finished.std::future_status::timeoutif the time period specified has elapsed.
~completion_future
Destroys the completion_future object.
Syntax
~completion_future();