This class is the return type of all C++ AMP asynchronous APIs and has an interface analogous to std::shared_future<void>.
More...
|
template<typename T , int N> |
class | array_view |
|
template<typename T , int N> |
completion_future | copy_async (const array_view< const T, N > &src, const array_view< T, N > &dest) |
| The contents of "src" are copied into "dest". More...
|
|
template<typename T , int N> |
completion_future | copy_async (const array< T, N > &src, array< T, N > &dest) |
| The contents of "src" are copied into "dest". More...
|
|
template<typename T , int N> |
completion_future | copy_async (const array< T, N > &src, const array_view< T, N > &dest) |
| The contents of "src" are copied into "dest". More...
|
|
template<typename T , int N> |
completion_future | copy_async (const array_view< T, N > &src, const array_view< T, N > &dest) |
|
template<typename T , int N> |
completion_future | copy_async (const array_view< const T, N > &src, array< T, N > &dest) |
| The contents of "src" are copied into "dest". More...
|
|
template<typename InputIter , typename T , int N> |
completion_future | copy_async (InputIter srcBegin, InputIter srcEnd, array< T, N > &dest) |
| The contents of a source container from the iterator range [srcBegin,srcEnd) are copied into "dest". More...
|
|
template<typename InputIter , typename T , int N> |
completion_future | copy_async (InputIter srcBegin, InputIter srcEnd, const array_view< T, N > &dest) |
| The contents of a source container from the iterator range [srcBegin,srcEnd) are copied into "dest". More...
|
|
template<typename InputIter , typename T , int N> |
completion_future | copy_async (InputIter srcBegin, array< T, N > &dest) |
|
template<typename InputIter , typename T , int N> |
completion_future | copy_async (InputIter srcBegin, const array_view< T, N > &dest) |
|
template<typename OutputIter , typename T , int N> |
completion_future | copy_async (const array< T, N > &src, OutputIter destBegin) |
| The contents of a source array are copied into "dest" starting with iterator destBegin. More...
|
|
template<typename OutputIter , typename T , int N> |
completion_future | copy_async (const array_view< T, N > &src, OutputIter destBegin) |
| The contents of a source array are copied into "dest" starting with iterator destBegin. More...
|
|
This class is the return type of all C++ AMP asynchronous APIs and has an interface analogous to std::shared_future<void>.
Similar to std::shared_future, this type provides member methods such as wait and get to wait for C++ AMP asynchronous operations to finish, and the type additionally provides a member method then(), to specify a completion callback functor to be executed upon completion of a C++ AMP asynchronous operation.
template<typename functor >
void Concurrency::completion_future::then |
( |
const functor & |
func | ) |
|
|
inline |
This method enables specification of a completion callback func which is executed upon completion of the asynchronous operation associated with this completion_future object.
The completion callback func should have an operator() that is valid when invoked with non arguments, i.e., "func()".
References Concurrency::copy_async().
void Concurrency::completion_future::wait |
( |
| ) |
const |
|
inline |
These methods are functionally identical to the corresponding std::shared_future<void> methods.
The wait method waits for the associated asynchronous operation to finish and returns only upon completion of the associated asynchronous operation or if an exception was encountered when executing the asynchronous operation.
The other variants are functionally identical to the std::shared_future<void> member methods with same names.
template<class _Rep , class _Period >
std::future_status Concurrency::completion_future::wait_for |
( |
const std::chrono::duration< _Rep, _Period > & |
_Rel_time | ) |
const |
|
inline |
These methods are functionally identical to the corresponding std::shared_future<void> methods.
The wait method waits for the associated asynchronous operation to finish and returns only upon completion of the associated asynchronous operation or if an exception was encountered when executing the asynchronous operation.
The other variants are functionally identical to the std::shared_future<void> member methods with same names.
template<class _Clock , class _Duration >
std::future_status Concurrency::completion_future::wait_until |
( |
const std::chrono::time_point< _Clock, _Duration > & |
_Abs_time | ) |
const |
|
inline |
These methods are functionally identical to the corresponding std::shared_future<void> methods.
The wait method waits for the associated asynchronous operation to finish and returns only upon completion of the associated asynchronous operation or if an exception was encountered when executing the asynchronous operation.
The other variants are functionally identical to the std::shared_future<void> member methods with same names.
template<typename InputIter , typename T , int N>
The contents of a source container from the iterator range [srcBegin,srcEnd) are copied into "dest".
If the number of elements in the iterator range is not equal to "dest.extent.size()", an exception is thrown.
In the overloads which don't take an end-iterator it is assumed that the source iterator is able to provide at least dest.extent.size() elements, but no checking is performed (nor possible).
- Parameters
-
[in] | srcBegin | An iterator to the first element of a source container. |
[in] | srcEnd | An interator to the end of a source container. |
[out] | dest | An object of type array<T,N> to be copied to. |
template<typename InputIter , typename T , int N>
The contents of a source container from the iterator range [srcBegin,srcEnd) are copied into "dest".
If the number of elements in the iterator range is not equal to "dest.extent.size()", an exception is thrown.
In the overloads which don't take an end-iterator it is assumed that the source iterator is able to provide at least dest.extent.size() elements, but no checking is performed (nor possible).
- Parameters
-
[in] | srcBegin | An iterator to the first element of a source container. |
[in] | srcEnd | An interator to the end of a source container. |
[out] | dest | An object of type array_view<T,N> to be copied to. |
template<typename OutputIter , typename T , int N>
The contents of a source array are copied into "dest" starting with iterator destBegin.
If the number of elements in the range starting destBegin in the destination container is smaller than "src.extent.size()", the behavior is undefined.
- Parameters
-
[in] | src | An object of type array<T,N> to be copied from. |
[out] | destBegin | An output iterator addressing the position of the first element in the destination container. |
template<typename OutputIter , typename T , int N>
The contents of a source array are copied into "dest" starting with iterator destBegin.
If the number of elements in the range starting destBegin in the destination container is smaller than "src.extent.size()", the behavior is undefined.
- Parameters
-
[in] | src | An object of type array_view<T,N> to be copied from. |
[out] | destBegin | An output iterator addressing the position of the first element in the destination container. |