Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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