copy_async-Funktion
Kopiert ein C++ AMP-Objekt und gibt ein completion_future-Objekt zurück, auf das gewartet werden kann. 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
>
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
);
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.
Rückgabewert
Ein future<void>-Objekt, auf das gewartet werden kann.
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