Partager via


index, classe

Définit un vecteur d’index ndimensionnel.

Syntaxe

template <int _Rank>
class index;

Paramètres

_Rang
Rang ou nombre de dimensions.

Membres

Constructeurs publics

Nom Description
constructeur d’index Initialise une nouvelle instance de la classe index.

Opérateurs publics

Nom Description
operator-- Décrémente chaque élément de l’objet index .
operator%= Calcule le module (reste) de chaque élément de l’objet index lorsque cet élément est divisé par un nombre.
operator*= Multiplie chaque élément de l’objet index par un nombre.
operator/= Divise chaque élément de l’objet index par un nombre.
index ::operator[] Retourne l’élément qui se trouve à l’index spécifié.
operator++ Incrémente chaque élément de l’objet index .
operator+= Ajoute le nombre spécifié à chaque élément de l’objet index .
operator= Copie le contenu de l’objet spécifié index dans celui-ci.
operator-= Soustrait le nombre spécifié de chaque élément de l’objet index .

Constantes publiques

Nom Description
constante de classement Stocke le rang de l’objet index .

Hiérarchie d'héritage

index

Notes

La index structure représente un vecteur de coordonnées d’entiers N qui spécifie une position unique dans un espace ndimensionnel. Les valeurs du vecteur sont classées de la plus importante à la moins significative. Vous pouvez récupérer les valeurs des composants à l’aide de operator=.

Spécifications

En-tête : amp.h

Espace de noms : Concurrency

constructeur d’index

Initialise une nouvelle instance de la classe d’index.

index() restrict(amp,cpu);

index(
   const index<_Rank>& _Other
) restrict(amp,cpu);

explicit index(
   int _I
) restrict(amp,cpu);

index(
   int _I0,
   int _I1
) restrict(amp,cpu);

index(
   int _I0,
   int _I1,
   int _I2
) restrict(amp,cpu);

explicit index(
   const int _Array[_Rank]
) restrict(amp,cpu);

Paramètres

_Tableau
Tableau unidimensionnel avec les valeurs de classement.

_I
Emplacement de l’index dans un index unidimensionnel.

_I0
Longueur de la dimension la plus importante.

_I1
Longueur de la dimension la plus importante à côté.

_I2
Longueur de la dimension la moins significative.

_Autre
Objet d’index sur lequel repose le nouvel objet d’index.

operator--

Décrémente chaque élément de l’objet index.

index<_Rank>& operator--() restrict(amp,cpu);

index operator--(
   int
) restrict(amp,cpu);

Valeurs de retour

Pour l’opérateur de préfixe, l’objet index (*this). Pour l’opérateur de suffixe, un nouvel objet d’index.

operator%=

Calcule le modulus (reste) de chaque élément de l’objet index lorsque cet élément est divisé par le nombre spécifié.

index<_Rank>& operator%=(
   int _Rhs
) restrict(cpu, amp);

Paramètres

_Rhs
Nombre à diviser pour trouver le module.

Valeur de retour

Objet index.

operator*=

Multiplie chaque élément de l’objet d’index par le nombre spécifié.

index<_Rank>& operator*=(
   int _Rhs
) restrict(amp,cpu);

Paramètres

_Rhs
Nombre à multiplier.

operator/=

Divise chaque élément de l’objet d’index par le nombre spécifié.

index<_Rank>& operator/=(
   int _Rhs
) restrict(amp,cpu);

Paramètres

_Rhs
Nombre à diviser.

operator[]

Retourne le composant de l’index à l’emplacement spécifié.

int operator[] (
   unsigned _Index
) const restrict(amp,cpu);

int& operator[] (
   unsigned _Index
) restrict(amp,cpu);

Paramètres

_Index
Entier compris entre 0 et le rang moins 1.

Valeur de retour

Élément qui se trouve à l’index spécifié.

Notes

Cet exemple suivant affiche les valeurs de composant de l’index.

// Prints 1 2 3.
concurrency::index<3> idx(1, 2, 3);
std::cout << idx[0] << "\n";
std::cout << idx[1] << "\n";
std::cout << idx[2] << "\n";

operator++

Incrémente chaque élément de l’objet index.

index<_Rank>& operator++() restrict(amp,cpu);

index<_Rank> operator++(
   int
) restrict(amp,cpu);

Valeur de retour

Pour l’opérateur de préfixe, l’objet index (*this). Pour l’opérateur de suffixe, un nouvel objet d’index.

operator+=

Ajoute le nombre spécifié à chaque élément de l’objet d’index.

index<_Rank>& operator+=(
   const index<_Rank>& _Rhs
) restrict(amp,cpu);

index<_Rank>& operator+=(
   int _Rhs
) restrict(amp,cpu);

Paramètres

_Rhs
Nombre à ajouter.

Valeur de retour

Objet index.

opérateur =

Copie le contenu de l’objet d’index spécifié dans celui-ci.

index<_Rank>& operator=(
   const index<_Rank>& _Other
) restrict(amp,cpu);

Paramètres

_Autre
Objet d’index à partir duquel copier.

Valeur de retour

Référence à cet objet d’index.

operator-=

Soustrait le nombre spécifié de chaque élément de l’objet index.

index<_Rank>& operator-=(
   const index<_Rank>& _Rhs
) restrict(amp,cpu);

index<_Rank>& operator-=(
   int _Rhs
) restrict(amp,cpu);

Paramètres

_Rhs
Nombre à soustraire.

Valeur de retour

Objet index.

Rank

Obtient le rang de l’objet index.

static const int rank = _Rank;

Voir aussi

Concurrency, espace de noms (C++ AMP)