copy_async, fonction
Copie un objet C++ AMP et renvoie un future<void> 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
>
std::shared_future<void> copy_async(
const array<_Value_type,
_Rank>& _Src,
array<_Value_type,
_Rank>& _Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
InputIterator _SrcFirst,
InputIterator _SrcLast,
array<_Value_type,
_Rank> &_Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
InputIterator _SrcFirst,
array<_Value_type,
_Rank> &_Dest
);
template <
typename OutputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array<_Value_type,
_Rank> &_Src,
OutputIterator _DestIter
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array<_Value_type,
_Rank>& _Src,
array_view<_Value_type,
_Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array_view<const _Value_type,
_Rank>& _Src,
array<_Value_type,
_Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array_view<_Value_type,
_Rank>& _Src,
array<_Value_type,
_Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array_view<const _Value_type,
_Rank>& _Src,
array_view<_Value_type,
_Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array_view<_Value_type,
_Rank>& _Src,
array_view<_Value_type,
_Rank>& _Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
InputIterator _SrcFirst,
InputIterator _SrcLast,
array_view<_Value_type,
_Rank> &_Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
InputIterator_SrcFirst,
array_view<_Value_type,
_Rank> &_Dest
);
template <
typename OutputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> 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
Le type de l'itérateur d'entrée.OutputIterator
Le type de l'itérateur en sortie._Rank
Le 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
Le 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 ampleurs de la source et des objets de destination ne correspondent pas, une runtime_exception est levée.
Vous pouvez copier dans les objets array et array_view les 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