completion_future Class
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::deferred
if the associated asynchronous operation is not running.std::future_status::ready
if the associated asynchronous operation is finished.std::future_status::timeout
if 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::deferred
if the associated asynchronous operation is not running.std::future_status::ready
if the associated asynchronous operation is finished.std::future_status::timeout
if the time period specified has elapsed.
~completion_future
Destroys the completion_future
object.
Syntax
~completion_future();