Udostępnij za pośrednictwem


copy_async — Funkcja

Kopiuje obiekt C++ AMP i zwraca obiekt completion_future, który może być oczekiwany.Nie można skopiować danych, podczas uruchamiania kodu na akceleratorze. Ogólna postać tej funkcji to 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
);

Parametry

  • _Dest
    Obiekt, do którego należy kopiować.

  • _DestIter
    Iterator wyjściowy określający pozycję początkową w miejscu docelowym.

  • InputIterator
    Typ iteratora wejściowego.

  • OutputIterator
    Typ iteratora wyjściowego.

  • _Rank
    Ranga kopiowanego obiektu źródłowego lub docelowego.

  • _Src
    Obiekt do skopiowania.

  • _SrcFirst
    Początkowy iterator do kontenera źródłowego.

  • _SrcLast
    Końcowy iterator do kontenera źródłowego.

  • _Value_type
    Typ danych elementów, które są kopiowane.

Wartość zwracana

future<void>, który może być oczekiwany.

Uwagi

Operacja kopiowania zawsze wykonuje kopię głęboką.

Jeżeli zakresy obiektów źródłowych i docelowych nie pasują do siebie, zgłaszany jest wyjątek runtime_exception.

Kopiowanie do obiektów array i array_view można wykonywać z następujących źródeł:

  • Obiekt array lub array_view, który ma tę samą rangę oraz typ elementu co obiekt docelowy array lub array_view.

  • Standardowy kontener, którego typ elementu jest taki sam jak obiektu docelowego array lub array_view.Kontenery, które udostępniają elementy członkowskie size() i data(), są wykonywane efektywniej.

Wymagania

Nagłówek: amp.h

Przestrzeń nazw: Concurrency

Zobacz też

Informacje

Przestrzeń nazw współbieżności (C++ AMP)