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.

Syntax

template <int _Rank>
class extent;

Parameters

_Rank
Classificazione dell'oggetto extent .

Requirements

Intestazione: amp.h

Namespace: Concorrenza

Members

Costruttori pubblici

Name Description
Costruttore di 'extent' Inizializza una nuova istanza della classe extent.

Metodi pubblici

Name Description
contains Verifica che l'oggetto specificato extent abbia il rango specificato.
size Restituisce la dimensione lineare totale dell'extent (in unità di elementi).
tile Produce un oggetto tiled_extent con le estensioni del riquadro fornite dalle dimensioni specificate.

Operatori pubblici

Name Description
operator- Restituisce un nuovo extent oggetto creato sottraendo gli index elementi dagli elementi corrispondenti extent .
operator-- 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 oggetto extent creato aggiungendo gli elementi index e extent corrispondenti.
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

Name Description
Costante rank Ottiene la classificazione dell'oggetto extent .

Gerarchia di ereditarietà

extent

contains

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

Syntax

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

Parameters

_Index
Valore index da testare.

Valore restituito

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

extent

Inizializza una nuova istanza della classe extent.

Syntax

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

Parameters

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

_I
Lunghezza dell'estensione.

_I0
Lunghezza della dimensione più significativa.

_I1
Lunghezza della dimensione successiva alla dimensione più significativa.

_I2
Lunghezza della dimensione meno significativa.

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

Remarks

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.

Syntax

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

Parameters

_Rhs
Numero di cui trovare il modulo.

Valore restituito

Oggetto extent.

operator*=

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

Syntax

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

Parameters

_Rhs
Numero da moltiplicare.

Valore restituito

L'oggetto extent.

operator+

Restituisce un nuovo oggetto extent creato aggiungendo gli elementi index e extent corrispondenti.

Syntax

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

Parameters

_Rhs
Oggetto index contenente gli elementi da aggiungere.

Valore restituito

Nuovo oggetto extent.

operator++

Incrementa ogni elemento dell'oggetto extent .

Syntax

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

Valore restituito

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

operator+=

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

Syntax

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

Parameters

_Rhs
Numero, indice o estensione 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.

Syntax

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

Parameters

_Rhs
Oggetto index contenente gli elementi da sottrarre.

Valore restituito

Nuovo oggetto extent.

operator--

Decrementa ogni elemento nell'oggetto extent .

Syntax

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 oggetto extent nuovo.

operator/=

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

Syntax

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

Parameters

_Rhs
Il numero per cui dividere.

Valore restituito

Oggetto extent.

operator-=

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

Syntax

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

Parameters

_Rhs
Numero da sottrarre.

Valore restituito

L'oggetto extent risultante.

operator=

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

Syntax

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

Parameters

_Other
Oggetto extent da cui copiare.

Valore restituito

Riferimento a questo extent oggetto.

extent::operator []

Restituisce l'elemento in corrispondenza dell'indice specificato.

Syntax

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

Parameters

_Index
Intero compreso tra 0 e il rango meno 1.

Valore restituito

Elemento in corrispondenza dell'indice specificato.

rank

Archivia la classificazione dell'oggetto extent .

Syntax

static const int rank = _Rank;

size

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

Syntax

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 ;

Parameters

_Dim0
Il componente più significativo dell'estensione a piastrelle.

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

_Dim2
Il componente meno significativo dell'estensione a piastrelle.

Vedere anche

Namespace Concurrency (C++ AMP)