Condividi tramite


Funzione copy_async

Copia un oggetto C++ AMP e restituisce un oggetto completion_future su cui può esserci attesa. Non è possibile copiare dati quando si sta eseguendo codice su un acceleratore. Il formato generico di questa funzione è 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
);

Parametri

  • _Dest
    Oggetto da copiare.

  • _DestIter
    Un iteratore di output nella posizione iniziale alla destinazione.

  • InputIterator
    Tipo di iteratore di input.

  • OutputIterator
    Tipo di iteratore di output.

  • _Rank
    Numero di dimensioni dell'oggetto da cui copiare o oggetto in cui copiare.

  • _Src
    Oggetto da copiare.

  • _SrcFirst
    Un iteratore iniziale nel contenitore sorgente.

  • _SrcLast
    Un iteratore finale del contenitore sorgente.

  • _Value_type
    Il tipo di dati degli elementi che vengono copiati.

Valore restituito

Un future<void> su cui può esserci attesa.

Note

L'operazione di copia effettua sempre una copia completa.

Se gli extents dell'oggetto sorgente e dell'oggetto destinazione non corrispondono, una runtime_exception viene lanciata.

È possibile copiare in oggetti array and array_view dalle seguenti origini:

  • Un array o array_view con lo stesso numero di dimensioni e tipo di elementi dell' array o dell' array_view di destinazione.

  • Un contenitore standard il cui tipo di elemento è lo stesso dell' array o array_view di destinazione. I contenitori che espongono i membri size() e data() hanno prestazioni più efficienti.

Requisiti

Intestazione: amp.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency (C++ AMP)