Freigeben über


copy-Funktion

Kopiert ein C++ AMP-Objekt. Alle Anforderungen der synchronen Datenübertragung werden erfüllt. Sie können keine Daten kopieren, wenn Code auf einem Beschleuniger ausgeführt wird. Das allgemeine Format dieser Funktion ist 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
);

Parameter

  • _Dest
    Das Objekt, in das kopiert werden soll.

  • _DestIter
    Ein Ausgabeiterator zur Anfangsposition am Ziel.

  • InputIterator
    Der Typ des Eingabeiterators.

  • OutputIterator
    Der Typ des Ausgabeiterators.

  • _Rank
    Der Rang des Objekts, aus dem bzw. in das kopiert werden soll.

  • _Src
    Das zu kopierende Objekt.

  • _SrcFirst
    Ein Anfangsiterator in den Quellcontainer.

  • _SrcLast
    Ein Endeiterator in den Quellcontainer.

  • _Value_type
    Der Datentyp der Elemente, die kopiert werden.

Hinweise

Der Kopiervorgang führt immer eine tiefe Kopie aus.

Wenn der Umfang der Quell- und Zielobjekte nicht übereinstimmt, wird eine runtime_exception ausgelöst.

Sie können aus folgenden Quellen in array- und array_view-Objekte kopieren:

  • Ein array- oder array_view-Objekt, das den gleichen Rang und Elementtyp wie das array- oder array_view-Zielobjekt hat.

  • Ein Standardcontainer, dessen Elementtyp dem array- oder array_view-Zielobjekt entspricht. Container, die size()- und data()-Member verfügbar machen, arbeiten effizienter.

Anforderungen

Header: amp.h

Namespace: Nebenläufigkeit

Siehe auch

Referenz

Concurrency-Namespace (C++ AMP)