Sdílet prostřednictvím


copy_async – funkce

Zkopíruje objekt jazyka C++ AMP a vrátí objekt completion_future, který může být očekáván.Data nelze kopírovat, je-li kód spuštěn v akcelerátoru. Obecný tvar této funkce je 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
);

Parametry

  • _Dest
    Objekt, do nějž se má kopírovat.

  • _DestIter
    Výstupní iterátor na počáteční pozici cíle.

  • InputIterator
    Typ vstupního iterátoru.

  • OutputIterator
    Typ výstupního iterátoru.

  • _Rank
    Řád objektu, z nějž se má kopírovat, nebo objektu, do nějž má být kopírováno.

  • _Src
    Kopírovaný objekt.

  • _SrcFirst
    Počáteční iterátor do zdrojového kontejneru.

  • _SrcLast
    Koncový iterátor do zdrojového kontejneru.

  • _Value_type
    Typ dat kopírovaných prvků.

Vrácená hodnota

Objekt typu future<void>, na který lze čekat.

Poznámky

Operace kopírování vždy provádí hluboké kopírování.

Pokud se rozsahy zdrojového a cílového objektu neshodují, je vyvolána výjimka runtime_exception.

Z následujících zdrojů lze kopírovat do objektů array a array_view:

  • Objekt array nebo array_view mající stejný řád a datový typ jako cílový objekt array nebo array_view.

  • Standardní kontejner, jehož typ prvků je stejný jako typ prvků cílových objektů array nebo array_view.Kontejnery poskytující členy size() a data() pracují efektivněji.

Požadavky

Hlavička: amp.h

Obor názvů: Souběžnost

Viz také

Referenční dokumentace

Obor názvů souběžnosti (C++ AMP)