Partager via


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

Voir aussi

Référence

Concurrency, espace de noms (C++ AMP)