copy_async (Función)
Copia un objeto AMP de C++ y devuelve un objeto completion_future que se puede esperar. No se puede copiar datos mientras se ejecuta código en un acelerador. La forma general de esta función es 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
Objeto con el que se va a copiar._DestIter
Un iterador de salida a la posición inicial en el destino.InputIterator
Tipo de iterador de entrada.OutputIterator
Tipo del iterador de salida._Rank
El rango del objeto de origen de la copia o el objeto de destino de la copia._Src
El objeto que se va a copiar._SrcFirst
Un iterador inicial en el contenedor de origen._SrcLast
Un iterador final en el contenedor de origen._Value_type
El tipo de datos de los elementos que se copian.
Valor devuelto
Un future<void> que se puede esperar.
Comentarios
La operación de copia siempre realiza una copia en profundidad.
Si no coinciden con las extensiones de los objetos de origen y de destino, se produce runtime_exception.
Se puede copiar en objetos array y array_view desde los siguientes orígenes:
Una array o array_view que tiene el mismo tipo de rango y de elemento que el destino array o array_view.
Un contenedor estándar cuyo tipo de elemento es igual que el destino array o array_view. Los contenedores que exponen el size() y miembros de data() actúan con más eficiencia.
Requisitos
Encabezado: amp.h
Espacio de nombres: Simultaneidad