Compartir a través de


copy (Función)

Copia un objeto C++ AMP. Se cumplen todos los requisitos sincrónicos de transferencia de datos. 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
>
void copy(
   const array<_Value_type, _Rank>& _Src,
   array<_Value_type, _Rank>& _Dest
);

template <
   typename InputIterator,
   typename _Value_type,
   int _Rank
>
void copy(
   InputIterator _SrcFirst,
   InputIterator _SrcLast,
   array<_Value_type, _Rank> &_Dest
);

template <
   typename InputIterator,
   typename _Value_type,
   int _Rank
>
void copy(
   InputIterator _SrcFirst,
   array<_Value_type, _Rank> &_Dest
);

template <
   typename OutputIterator,
   typename _Value_type,
   int _Rank
>
void copy(
   const array<_Value_type, _Rank> &_Src,
   OutputIterator _DestIter
);

template <
   typename _Value_type,
   int _Rank
>
void copy(
   const array<_Value_type, _Rank>& _Src,
   array_view<_Value_type, _Rank>& _Dest
);

template <
   typename _Value_type,
   int _Rank
>
void copy(
   const array_view<const _Value_type, _Rank>& _Src,
   array<_Value_type, _Rank>& _Dest
);

template <
   typename _Value_type,
   int _Rank
>
void copy(
   const array_view<_Value_type, _Rank>& _Src,
   array<_Value_type, _Rank>& _Dest
);

template <
   typename _Value_type,
   int _Rank
>
void copy(
   const array_view<const _Value_type, _Rank>& _Src,
   array_view<_Value_type, _Rank>& _Dest
);

template <
   typename _Value_type,
   int _Rank
>
void copy(
   const array_view<_Value_type, _Rank>& _Src,
   array_view<_Value_type, _Rank>& _Dest
);

template <
   typename InputIterator,
   typename _Value_type,
   int _Rank
>
void copy(
   InputIterator _SrcFirst,
   InputIterator _SrcLast,
   array_view<_Value_type, _Rank> &_Dest
);

template <
   typename InputIterator,
   typename _Value_type,
   int _Rank
>
void copy(
   InputIterator _SrcFirst,
   array_view<_Value_type, _Rank> &_Dest
);

template <
   typename OutputIterator,
   typename _Value_type,
   int _Rank
>
void copy(
   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.

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)