Condividi tramite


Classe index

Definisce un vettore di indice N-dimensionale.

Sintassi

template <int _Rank>
class index;

Parametri

_Rango
Rango o numero di dimensioni.

Membri

Costruttori pubblici

Nome Descrizione
Costruttore index Inizializza una nuova istanza della classe index.

Operatori pubblici

Nome Descrizione
operatore-- Decrementa ogni elemento dell'oggetto index .
operator%= Calcola il modulo (resto) di ogni elemento nell'oggetto index quando tale elemento è diviso per un numero.
operator*= Moltiplica ogni elemento dell'oggetto index per un numero.
operator/= Divide ogni elemento dell'oggetto index in base a un numero.
index::operator[] Restituisce l'elemento in corrispondenza dell'indice specificato.
operator++ Incrementa ogni elemento dell'oggetto index .
operator+= Aggiunge il numero specificato a ogni elemento dell'oggetto index .
operator= Copia il contenuto dell'oggetto specificato index in questo oggetto.
operator-= Sottrae il numero specificato da ogni elemento dell'oggetto index .

Costanti pubbliche

Nome Descrizione
Costante rank Archivia la classificazione dell'oggetto index .

Gerarchia di ereditarietà

index

Osservazioni:

La index struttura rappresenta un vettore di coordinate di N interi che specifica una posizione univoca in uno spazio N-dimensionale. I valori nel vettore vengono ordinati dal più significativo al meno significativo. È possibile recuperare i valori dei componenti usando operator=.

Requisiti

Intestazione: amp.h

Spazio dei nomi: Concurrency

Costruttore index

Inizializza una nuova istanza della classe 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);

Parametri

_Array
Matrice unidimensionale con i valori di classificazione.

_I
Posizione dell'indice in un indice unidimensionale.

_I0
Lunghezza della dimensione più significativa.

_I1
Lunghezza della dimensione successiva alla dimensione più significativa.

_I2
Lunghezza della dimensione meno significativa.

_Altro
Oggetto index su cui si basa il nuovo oggetto indice.

operatore--

Decrementa ogni elemento dell'oggetto index.

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

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

Valori restituiti

Per l'operatore prefisso, l'oggetto index (*this). Per l'operatore suffisso, un nuovo oggetto index.

operator%=

Calcola il modulo (resto) di ogni elemento nell'oggetto index quando tale elemento è diviso per il numero specificato.

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

Parametri

_Rhs
Numero da dividere per per trovare il modulo.

Valore restituito

Oggetto index.

operator*=

Moltiplica ogni elemento nell'oggetto index in base al numero specificato.

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

Parametri

_Rhs
Numero da moltiplicare.

operator/=

Divide ogni elemento nell'oggetto index in base al numero specificato.

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

Parametri

_Rhs
Numero da dividere per.

operator[]

Restituisce il componente dell'indice in corrispondenza della posizione specificata.

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

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

Parametri

_Indice
Intero compreso tra 0 e il rango meno 1.

Valore restituito

Elemento in corrispondenza dell'indice specificato.

Osservazioni:

In questo esempio vengono visualizzati i valori dei componenti dell'indice.

// 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++

Incrementa ogni elemento dell'oggetto index.

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

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

Valore restituito

Per l'operatore prefisso, l'oggetto index (*this). Per l'operatore suffisso, un nuovo oggetto index.

operator+=

Aggiunge il numero specificato a ogni elemento dell'oggetto index.

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

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

Parametri

_Rhs
Numero da aggiungere.

Valore restituito

Oggetto index.

operator=

Copia il contenuto dell'oggetto indice specificato in questo oggetto.

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

Parametri

_Altro
Oggetto index da cui copiare.

Valore restituito

Riferimento a questo oggetto index.

operator-=

Sottrae il numero specificato da ogni elemento dell'oggetto index.

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

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

Parametri

_Rhs
Numero da sottrarre.

Valore restituito

Oggetto index.

Classifica

Ottiene il rango dell'oggetto index.

static const int rank = _Rank;

Vedi anche

Spazio dei nomi Concurrency (C++ AMP)