Função de copy_async
Copia um objeto C++ AMP e retorna future<void> que pode ser atendido.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
>
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
);
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 dado 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, é lançado um runtime_exception.
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êiners que expõe membros size() e data() executam de modo mais eficiente.
Requisitos
Cabeçalho: amp.h
Namespace: Concurrency