Função copy_async
Copia um objeto C++ AMP e retorna um objeto completion_future que pode ser aguardado. Você não pode copiar dados durante a execução do código em um acelerador. A forma geral dessa função é 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
);
Parâmetros
_Dest
O objeto ao qual será copiado._DestIter
Um iterador de saída para a posição inicial no destino.InputIterator
O tipo do iterador de entrada.OutputIterator
O tipo do iterador de saída._Rank
A classificação do objeto de onde copiar ou o objeto para o qual será copiado._Src
Objeto a ser copiado._SrcFirst
Um iterador inicial no contêiner de origem._SrcLast
Um iterador final no contêiner de origem._Value_type
O tipo de dados dos elementos que são copiados.
Valor de retorno
Um future<void> que pode ser esperado.
Comentários
A operação de cópia sempre executa uma cópia profunda.
Se as extensões dos objetos de origem e de destino não correspondem, uma runtime_exception será lançada.
Você pode copiar para objetos array e array_view das seguintes fontes:
Um array ou array_view que tem a mesma classificação e tipo de elemento que o destino array ou array_view.
Um contêiner padrão cujo tipo de elemento é o mesmo que o de destino array ou array_view. Contêineres que expõem membros size() e data() executam de modo mais eficiente.
Requisitos
Cabeçalho: amp.h
Namespace: Simultaneidade