Функция copy_async
Копирует объект С++ AMP и возвращает future<void>, который можно использовать для ожидания.Нельзя копировать данные при выполнении кода на ускорителе.Общая форма этой функции — copy(src, dest).
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array<_Value_type,
_Rank>& _Src,
array<_Value_type,
_Rank>& _Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
InputIterator _SrcFirst,
InputIterator _SrcLast,
array<_Value_type,
_Rank> &_Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
InputIterator _SrcFirst,
array<_Value_type,
_Rank> &_Dest
);
template <
typename OutputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array<_Value_type,
_Rank> &_Src,
OutputIterator _DestIter
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array<_Value_type,
_Rank>& _Src,
array_view<_Value_type,
_Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array_view<const _Value_type,
_Rank>& _Src,
array<_Value_type,
_Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array_view<_Value_type,
_Rank>& _Src,
array<_Value_type,
_Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array_view<const _Value_type,
_Rank>& _Src,
array_view<_Value_type,
_Rank>& _Dest
);
template <
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array_view<_Value_type,
_Rank>& _Src,
array_view<_Value_type,
_Rank>& _Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
InputIterator _SrcFirst,
InputIterator _SrcLast,
array_view<_Value_type,
_Rank> &_Dest
);
template <
typename InputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
InputIterator_SrcFirst,
array_view<_Value_type,
_Rank> &_Dest
);
template <
typename OutputIterator,
typename _Value_type,
int _Rank
>
std::shared_future<void> copy_async(
const array_view<_Value_type,
_Rank> &_Src,
OutputIterator _DestIter
);
Параметры
_Dest
Объект, в который требуется выполнить копирование._DestIter
Итератор вывода, указывающий на начальную позицию в месте назначения.InputIterator
Тип итератора ввода.OutputIterator
Тип итератора вывода._Rank
Ранг объекта, из которого производится копирование, или объекта, в который производится копирование._Src
Объект, который требуется скопировать._SrcFirst
Итератор, указывающий на начало в исходном контейнере._SrcLast
Итератор, указывающий на конец в исходном контейнере._Value_type
Тип данных копируемых элементов.
Возвращаемое значение
Объект future<void>, используемый для ожидания.
Заметки
Операция копирования всегда выполняет глубокое копирование.
Если границы исходного объекта и объекта назначения не совпадают, то вызывается исключение выполнения.
В объекты array и array_view можно производить копирование из следующих источников:
Объект array или array_view, имеющий такой же размер и тип данных элементов, как и объект назначения array или array_view.
Стандартный контейнер, тип элементов которого совпадает с типом элементов в объекте назначения array или array_view.Контейнеры, которые предоставляют методы size() и data(), выполняются более эффективно.
Требования
Заголовок: amp.h
Пространство имен: Concurrency