copy_async 函数

将 C++ 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
    输入的 interator 的类型。

  • OutputIterator
    输出迭代器的类型。

  • _Rank
    要从复制的对象或对象复制到数组的秩。

  • _Src
    若要复制的对象。

  • _SrcFirst
    到源容器开始迭代器。

  • _SrcLast
    结束迭代器中的源容器。

  • _Value_type
    复制的元素的数据类型。

返回值

A future<void>的已等待。

备注

复制操作始终执行深层副本。

如果不匹配的源和目标对象的扩展盘区, runtime_exception 引发。

您可以将其复制到数组array_view 对象从以下来源:

  • arrayarray_view的目标位置具有相同的秩和元素类型的arrayarray_view

  • 其元素类型与目标相同标准容器arrayarray_view。 公开的容器**size()data()**成员更有效地执行。

要求

标题: amp.h

命名空间: 并发

请参见

参考

Concurrency 命名空间 (C++ AMP)