Compartir a través de


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

Vea también

Referencia

Espacio de nombres de simultaneidad (C++ AMP)