Condividi tramite


Funzione copy

Copia un oggetto AMP C++.Tutti i requisiti di trasferimento sincrono dei dati vengano soddisfatti.Non è possibile copiare dati quando si sta eseguendo codice su un acceleratore.Il formato generico di questa funzione è 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                     
);

Parametri

  • _Dest
    Oggetto da copiare.

  • _DestIter
    Un iteratore di output nella posizione iniziale alla destinazione.

  • InputIterator
    Il tipo dell'iteratore di input.

  • OutputIterator
    Il tipo dell'iteratore di output.

  • _Rank
    Il rango dell'oggetto da cui copiare o il rango dell'oggetto da copiare.

  • _Src
    L'oggetto da copiare.

  • _SrcFirst
    Un iteratore iniziale nel contenitore sorgente.

  • _SrcLast
    Un iteratore finale del contenitore sorgente.

  • _Value_type
    Il tipo dei dati degli elementi che vengono copiati.

Note

L'operazione di copia effettua sempre una deep copy.

Se gli extents dell'oggetto sorgente e dell'oggetto destinazione non corrispondono, una runtime_exception viene lanciata.

È possibile copiare in oggetti array ed array_view dalle seguenti origini:

  • Un array o array_view con lo stesso numero di dimensioni e tipo di elementi dell' array o dell' array_view di destinazione.

  • Un contenitore standard il cui tipo di elemento è lo stesso dell' array o array_view di destinazione.I contenitori che espongono i membri size() e data() hanno prestazioni più efficienti.

Requisiti

Intestazione: amp.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency (C++ AMP)