Поделиться через


Функция 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

См. также

Ссылки

Пространство имен Concurrency (C++ AMP)