Freigeben über


array_view::reinterpret_as-Methode

Interpretiert das array_view-Objekt durch ein eindimensionales array_view-Objekt neu, das als Option einen anderen Werttyp als das array_view-Quellobjekt haben kann.

template <
   typename _Value_type2
>
array_view<_Value_type2, _Rank> reinterpret_as() const restrict(amp,cpu);

template <
   typename _Value_type2
>
array_view<const _Value_type2, _Rank> reinterpret_as() const restrict(amp,cpu);

Parameter

  • _Value_type2
    Der Datentyp des neuen array_view-Objekts.

Rückgabewert

Ein array_view-Objekt oder ein const-array_view-Objekt, das auf diesem array_view-Objekt basiert, wobei der Elementtyp von T in _Value_type2 konvertiert wird und der Rang von N auf 1 reduziert wird.

Hinweise

Manchmal ist es hilfreich, ein mehrdimensionales Array als lineares, eindimensionales Array anzuzeigen, das einen anderen Werttyp als das Quellarray haben kann. Dies kann auf einem array_view-Objekt mit dieser Methode erzielt werden.

Warnung

Ein array_view-Objekt mithilfe eines anderen Werttyps neu zu interpretieren, ist ein potenziell unsicherer Vorgang.Diese Funktion sollte sorgfältig verwendet werden.

Im Folgenden ein Beispiel:

struct RGB { float r; float g; float b; };

array<RGB,3>  a = ...; 
array_view<float,1> v = a.reinterpret_as<float>(); 

assert(v.extent == 3*a.extent);

Anforderungen

Header: amp.h

Namespace: Nebenläufigkeit

Siehe auch

Referenz

array_view-Klasse