Condividi tramite


Classe extent (C++ AMP)

Rappresenta un vettore di valori interi N che specificano i limiti di uno spazio N-dimensionale che ha un'origine pari a 0. I valori nel vettore vengono ordinati dal più significativo al meno significativo.

Sintassi

template <int _Rank>
class extent;

Parametri

_Rango
Classificazione dell'oggetto extent .

Requisiti

Intestazione: amp.h

Spazio dei nomi: Concurrency

Membri

Costruttori pubblici

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

Metodi pubblici

Nome Descrizione
contains Verifica che l'oggetto specificato extent abbia il rango specificato.
size Restituisce la dimensione lineare totale dell'extent (in unità di elementi).
tegola Produce un tiled_extent oggetto con gli extent del riquadro specificati dalle dimensioni specificate.

Operatori pubblici

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

Costanti pubbliche

Nome Descrizione
Costante rank Ottiene la classificazione dell'oggetto extent .

Gerarchia di ereditarietà

extent

contains

Indica se il valore di indice specificato è contenuto nell'oggetto extent .

Sintassi

bool contains(const index<rank>& _Index) const restrict(amp,cpu);

Parametri

_Indice
Valore index da testare.

Valore restituito

truese il valore di indice specificato è contenuto nell'oggetto extent ; in caso contrario, false.

extent

Inizializza una nuova istanza della classe extent.

Sintassi

extent() restrict(amp,cpu);
extent(const extent<_Rank>& _Other) restrict(amp,cpu);
explicit extent(int _I) restrict(amp,cpu);
extent(int _I0,  int _I1) restrict(amp,cpu);
extent(int _I0,  int _I1, int _I2) restrict(amp,cpu);
explicit extent(const int _Array[_Rank])restrict(amp,cpu);

Parametri

_Array
Matrice di _Rank interi utilizzata per creare il nuovo extent oggetto.

_I
Lunghezza dell'extent.

_I0
Lunghezza della dimensione più significativa.

_I1
Lunghezza della dimensione successiva alla dimensione più significativa.

_I2
Lunghezza della dimensione meno significativa.

_Altro
Oggetto extent su cui si basa il nuovo extent oggetto.

Osservazioni:

Il costruttore predefinito inizializza un extent oggetto con un rango di tre.

Se viene utilizzata una matrice per costruire un extent oggetto, la lunghezza della matrice deve corrispondere al rango dell'oggetto extent .

operator%=

Calcola il modulo (resto) di ogni elemento in extent quando tale elemento è diviso per un numero.

Sintassi

extent<_Rank>& operator%=(int _Rhs) restrict(cpu, direct3d);

Parametri

_Rhs
Numero di cui trovare il modulo.

Valore restituito

Oggetto extent.

operator*=

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

Sintassi

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

Parametri

_Rhs
Numero da moltiplicare.

Valore restituito

Oggetto extent.

operator+

Restituisce un nuovo extent oggetto creato aggiungendo gli elementi e extent corrispondentiindex.

Sintassi

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

Parametri

_Rhs
Oggetto index contenente gli elementi da aggiungere.

Valore restituito

Nuovo oggetto extent.

operator++

Incrementa ogni elemento dell'oggetto extent .

Sintassi

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

Valore restituito

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

operator+=

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

Sintassi

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

Parametri

_Rhs
Numero, indice o extent da aggiungere.

Valore restituito

L'oggetto extent risultante.

operator-

Crea un nuovo extent oggetto sottraendo ogni elemento nell'oggetto specificato index dall'elemento corrispondente in questo extent oggetto.

Sintassi

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

Parametri

_Rhs
Oggetto index contenente gli elementi da sottrarre.

Valore restituito

Nuovo oggetto extent.

operatore--

Decrementa ogni elemento nell'oggetto extent .

Sintassi

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

Valore restituito

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

operator/=

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

Sintassi

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

Parametri

_Rhs
Numero da dividere per.

Valore restituito

Oggetto extent.

operator-=

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

Sintassi

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

Parametri

_Rhs
Numero da sottrarre.

Valore restituito

L'oggetto extent risultante.

operator=

Copia il contenuto di un altro extent oggetto in questo oggetto.

Sintassi

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

Parametri

_Altro
Oggetto extent da cui copiare.

Valore restituito

Riferimento a questo extent oggetto.

extent::operator []

Restituisce l'elemento in corrispondenza dell'indice specificato.

Sintassi

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

Parametri

_Indice
Intero compreso tra 0 e il rango meno 1.

Valore restituito

Elemento in corrispondenza dell'indice specificato.

rank

Archivia la classificazione dell'oggetto extent .

Sintassi

static const int rank = _Rank;

size

Restituisce la dimensione lineare totale dell'oggetto extent (in unità di elementi).

Sintassi

unsigned int size() const restrict(amp,cpu);

tile

Produce un oggetto tiled_extent con le dimensioni del riquadro specificate.

template <int _Dim0>
tiled_extent<_Dim0> tile() const ;

template <int _Dim0, int _Dim1>
tiled_extent<_Dim0, _Dim1> tile() const ;

template <int _Dim0, int _Dim1, int _Dim2>
tiled_extent<_Dim0, _Dim1, _Dim2> tile() const ;

Parametri

_Dim0
Componente più significativo dell'extent affiancato. _Dim1
Componente successivo a più significativo dell'extent affiancato. _Dim2
Componente meno significativo dell'extent affiancato.

Vedi anche

Spazio dei nomi Concurrency (C++ AMP)