copy_async, fonction
Copie un objet C++ AMP et renvoie un objet completion_future sur lequel on peut se mettre en attente. Il est impossible de copier des données quand du code s'exécute sur un accélérateur. La forme générale de cette fonction est copy(src, dest).
template <
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
const array<_Value_type, _Rank>& _Src,
array<_Value_type, _Rank>& _Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
InputIterator _SrcFirst,
InputIterator _SrcLast,
array<_Value_type, _Rank> &_Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
InputIterator _SrcFirst,
array<_Value_type, _Rank> &_Dest
);
template <
typename OutputIterator,
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
const array<_Value_type, _Rank> &_Src,
OutputIterator _DestIter
);
template <
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
const array<_Value_type, _Rank>& _Src,
array_view<_Value_type, _Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
const array_view<const _Value_type, _Rank>& _Src,
array<_Value_type, _Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
const array_view<_Value_type, _Rank>& _Src,
array<_Value_type, _Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
const array_view<const _Value_type, _Rank>& _Src,
array_view<_Value_type, _Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
const array_view<_Value_type, _Rank>& _Src,
array_view<_Value_type, _Rank>& _Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
InputIterator _SrcFirst,
InputIterator _SrcLast,
array_view<_Value_type, _Rank> &_Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
InputIterator_SrcFirst,
array_view<_Value_type, _Rank> &_Dest
);
template <
typename OutputIterator,
typename _Value_type,
int _Rank
>
concurrency::completion_future copy_async(
const array_view<_Value_type, _Rank> &_Src,
OutputIterator _DestIter
);
Paramètres
_Dest
Objet avec lequel effectuer la copie._DestIter
Un itérateur en sortie pour la position de départ à destination.InputIterator
Type de l'itérateur d'entrée.OutputIterator
Type de l'itérateur de sortie._Rank
Rang de l'objet à copier ou de l'objet dans lequel copier._Src
L'objet à copier._SrcFirst
Un itérateur de départ dans le conteneur source._SrcLast
Un itérateur de fin dans le conteneur source._Value_type
Type de données des éléments copiés.
Valeur de retour
Un future<void> sur lequel on peut mettre en attente.
Remarques
L'opération de copie effectue toujours une copie par valeur.
Si les extents des objets source et destination ne correspondent pas, une runtime_exception est levée.
Vous pouvez effectuer la copie dans les objets array et array_view à partir des sources suivantes :
Un array ou array_view qui a le même classement et type d'élément que la destination array ou array_view.
Un conteneur standard dont le type d'élément est identique à la destination array ou array_view. Les conteneurs qui exposent size() et les membres de data() sont très performants.
Configuration requise
En-tête : amp.h
Espace de noms d'accès : Concurrency