Partager via


array_view::reinterpret_as, méthode

Réinterprète l'array_view via un array_view unidimensionnel qui, en tant qu'option, peut avoir un type de valeur différent de l'array_view source.

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);

Paramètres

  • _Value_type2
    Type de données du nouvel objet array_view.

Valeur de retour

Un objet array_view ou un objet array_view const basé sur cet array_view, avec le type d'élément converti de T à _Value_type2, et le rang réduit de N à 1.

Remarques

Il est parfois pratique d'afficher un tableau multidimensionnel sous la forme d'un tableau unidimensionnel linéaire, qui peut avoir un type de valeur différent du tableau source. Vous pouvez réaliser cela sur un array_view à l'aide de cette méthode.

Avertissement

La réinterprétation d'un objet array_view en utilisant un autre type de valeur est une opération potentiellement risquée.Cette fonction doit être utilisée avec précaution.

Voici un exemple :

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);

Configuration requise

En-tête : amp.h

Espace de noms d'accès : Concurrency

Voir aussi

Référence

array_view, classe