Freigeben über


array::array-Konstruktor

Initialisiert eine neue Instanz der Array Klasse.Es ist kein Standardkonstruktor für array<T,N>.Alle Konstruktoren werden nur die CPU ausgeführt.Sie können auf eine Direct3D-Ziel ausgeführt werden.

explicit array(
   const Concurrency::extent<_Rank> & _Extent                     
) ;
                     
explicit array(
   int _E0                     
) ;
                     
explicit array(
   int _E0,
   int _E1                     
) ;
                     
explicit array(
   int _E0,
   int _E1,
   int _E2                     
) ;
                     
array(
   const Concurrency::extent<_Rank>& _Extent,
   Concurrency::accelerator_view _Av                     
) ;
                     
array(
   int _E0,
   Concurrency::accelerator_view _Av                     
) ;
                     
array(
   int _E0,
   int _E1,
   Concurrency::accelerator_view _Av                     
) ;
                     
array(
   int _E0,
   int _E1,
   int _E2,
   Concurrency::accelerator_view _Av                     
) ;
                     
array(
   const Concurrency::extent<_Rank>& _Extent,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
array(
   int _E0,
   accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
array(
   int _E0,
   int _E1,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
array(
   int _E0,
   int _E1,
   int _E2,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   const Concurrency::extent<_Rank>& _Extent,
   _InputIterator _Src_first,
   _InputIterator _Src_last                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   const Concurrency::extent<_Rank>& _Extent,
   _InputIterator _Src_first                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   _InputIterator _Src_first,
   _InputIterator _Src_last                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   _InputIterator _Src_first                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   _InputIterator _Src_first,
   _InputIterator _Src_last                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   _InputIterator _Src_first                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   int _E2,
   _InputIterator _Src_first,
   _InputIterator _Src_last                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   int _E2,
   _InputIterator _Src_first                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   const Concurrency::extent<_Rank>& _Extent,
   _InputIterator _Src_first,
   _InputIterator _Src_last,
   Concurrency::accelerator_view _Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   const Concurrency::extent<_Rank>& _Extent,
   _InputIterator _Src_first,
   Concurrency::accelerator_view _Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   _InputIterator _Src_first,
   _InputIterator _Src_last,
   Concurrency::accelerator_view _Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   _InputIterator _Src_first,
   Concurrency::accelerator_view _Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   _InputIterator _Src_first,
   _InputIterator _Src_last,
   Concurrency::accelerator_view _Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   _InputIterator _Src_first,
   Concurrency::accelerator_view _Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   int _E2,
   _InputIterator _Src_first,
   _InputIterator _Src_last,
   Concurrency;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   int _E2,
   _InputIterator _Src_first,
   Concurrency::accelerator_view _Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   const Concurrency::extent<_Rank>& _Extent,
   _InputIterator _Src_first,
   _InputIterator _Src_last,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   const Concurrency::extent<_Rank>& _Extent,
   _InputIterator _Src_first,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   _InputIterator _Src_first,
   _InputIterator _Src_last,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   _InputIterator _Src_first,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
);
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   _InputIterator _Src_first,
   _InputIterator _Src_last,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   _InputIterator _Src_first,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   int _E2,
   _InputIterator _Src_first,
   _InputIterator _Src_last,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
template <
   typename _InputIterator                     
>
array(
   int _E0,
   int _E1,
   int _E2,
   _InputIterator _Src_first,
   Concurrency::accelerator_view _Av,
   Concurrency::accelerator_view _Associated_Av                     
) ;
                     
explicit array(
   const array_view<const _Value_type,
   _Rank>& _Src                     
) ;
                     
array(
   const array_view<const _Value_type,
   _Rank>& _Src,
   accelerator_view _Av                     
) ;
                     
array(
   const array_view<const _Value_type,
   _Rank>& _Src,
   accelerator_view _Av,
   accelerator_view _Associated_Av                     
) ;
                     
array(
   const array& _Other                     
) ;
                     
array(
   array && _Other                     
) ;

Parameter

  • _Associated_Av
    Ein Accelerator_view die bevorzugte Zielspeicherort des Arrays angibt.

  • _Av
    Ein Accelerator_view -Objekt, das den Speicherort des Arrays angibt.

  • _Extent
    Das Ausmaß, in jeder Dimension des Arrays.

  • _E0
    Die wichtigste Komponente der Umfang der in diesem Abschnitt.

  • _E1
    Die weiter-zu-meisten signifikante Komponente des Umfangs der in diesem Abschnitt.

  • _E2
    Die niederwertigsten Komponente des Umfangs der in diesem Abschnitt.

  • InputIterator
    Der Typ der Eingabe Interator.

  • _Src
    Objekt kopieren.

  • _Src_first
    Ein Iterator Anfang in den Quellcode-Container.

  • _Src_last
    Ein Enddatum Iterator in den Quellcode-Container.

  • _Other
    Andere Datenquelle.

  • _Rank
    Der Rang des Abschnitts.

  • _Value_type
    Der Datentyp der Elemente, die kopiert werden.

Hinweise

Staging-Konstruktoren haben zwei Accelerator_view Objekte als Konstruktorparameter.Staging-Arrays werden als Hinweis zum wiederholte Kopien zwischen zwei "Accelerators" (zwischen der CPU und Direct3D-Hardwarebeschleuniger) zu optimieren.Staging-Arrays sind für die Datenübertragung optimiert und haben keine stabile User-Space-Speicher.Sie werden von DirectX staging-Puffer unterstützt, die die richtige Hardware-Ausrichtung um sicherzustellen, dass eine effiziente Direct Memory Access (DMA) Übertragung zwischen CPU und das Gaspedal.Die accelerator_view Eigenschaft eines staging-Arrays gibt den Wert des ersten Arguments Accelerator, die mit der es erstellt wurde.Sie können nicht ändern oder überprüfen den Inhalt von staging-Array, wenn es bei einem Übertragungsvorgang beteiligt ist, wie im folgenden Code gezeigt.

class SimulationServer 
{ 
    array<float,2> acceleratorArray; 
    array<float,2> stagingArray; 
public: 
    SimulationServer(const accelerator_view& av) 
        :acceleratorArray(extent<2>(1000,1000), av), 
         stagingArray(extent<2>(1000,1000), accelerator("cpu"), 
         accelerator("gpu")) 
    { 
    } 
 
    void OnCompute() 
    { 
        array<float,2> &a = acceleratorArray; 
        ApplyNetworkChanges(stagingArray.data()); 
        
        // Starting here, you can't change or examine contents.
        a = stagingArray; 
        parallel_for_each(a.extents, [&](index<2> idx) 
        { 
           // Update a[idx] according to simulation. 
        } 
        stagingArray = a; 
        
        // Starting here, you can change or examine contents.
        SendToClient(stagingArray.data()); 
     } 
}; 

Anforderungen

Header: amp.h

Namespace: Concurrency

Siehe auch

Referenz

Arrayklasse