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;