Partilhar via


Classe extent (C++ AMP)

Representa um vetor de valores inteiros N que especificam os limites de um espaço de dimensão N que tem uma origem de zero. Os valores no vetor são ordenados do mais significativo para o menos significativo.

Sintaxe

template <int _Rank>
class extent;

Parâmetros

_Rank
A classificação do objeto extent.

Requisitos

Cabeçalho: amp.h

Namespace: Simultaneidade

Membros

Construtores públicos

Nome Descrição
Construtor extent Inicializa uma nova instância da classe extent.

Métodos públicos

Nome Descrição
contains Verifica se o objeto extent especificado tem a classificação especificada.
size Retorna o tamanho linear total da extensão (em unidades de elementos).
tile Produz um objeto tiled_extent com as extensões de bloco fornecidas por dimensões especificadas.

Operadores públicos

Nome Descrição
operator- Retorna um novo objeto extent que é criado subtraindo os elementos index dos elementos extent correspondentes.
operador-- Decrementa cada elemento do objeto extent.
operador%= Calcula o módulo (restante) de cada elemento no objeto extent quando esse elemento é dividido por um número.
operator*= Multiplica cada elemento do objeto extent por um número.
operator/= Divide cada elemento do objeto extent por um número.
extent::operator[] Retorna o elemento que está no índice especificado.
operator+ Retorna um novo objeto extent criado adicionando os elementos index e extent correspondentes.
operador++ Incrementa cada elemento do objeto extent.
operator+= Adiciona o número especificado a cada elemento do objeto extent.
operator= Copia o conteúdo de outro objeto extent neste.
operador-= Subtrai o número especificado de cada elemento do objeto extent.

Constantes públicas

Nome Descrição
Constante rank Armazena a classificação do objeto extent.

Hierarquia de herança

extent

contains

Indica se o valor de índice especificado está contido no objeto extent.

Sintaxe

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

Parâmetros

_Index
O index valor a ser testado.

Valor de retorno

true se o valor de índice especificado estiver contido no objeto extent; caso contrário, false.

extent

Inicializa uma nova instância da classe extent.

Sintaxe

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

Parâmetros

_Array
Uma matriz de inteiros _Rank que é usada para criar o novo objeto extent.

_I
O comprimento da extensão.

_I0
O comprimento da dimensão mais significativa.

_I1
O comprimento da segunda dimensão mais significativa.

_I2
O comprimento da dimensão menos significativa.

_Other
Um objeto extent no qual o novo objeto extent está baseado.

Comentários

O construtor padrão inicializa um objeto extent que tem uma classificação de três.

Se uma matriz for usada para construir um objeto extent, o comprimento da matriz deverá corresponder à classificação do objeto extent.

operador%=

Calcula o módulo (resto) de cada elemento no objeto extent quando esse elemento é dividido por um número.

Sintaxe

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

Parâmetros

_Rhs
O número do qual localizar o módulo.

Valor de retorno

O objeto extent.

operator*=

Multiplica cada elemento no objeto extent pelo número especificado.

Sintaxe

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

Parâmetros

_Rhs
O número a ser multiplicado.

Valor de retorno

O objeto extent.

operator+

Retorna um novo objeto extent criado adicionando os elementos index e extent correspondentes.

Sintaxe

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

Parâmetros

_Rhs
O objeto index que contém os elementos a serem adicionados.

Valor de retorno

O novo objeto extent.

operador++

Incrementa cada elemento do objeto extent.

Sintaxe

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

Valor retornado

Para o operador de prefixo, o objeto extent (*this). Para o operador de sufixo, um novo objeto extent.

operator+=

Adiciona o número especificado a cada elemento do objeto extent.

Sintaxe

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

Parâmetros

_Rhs
O número, o índice ou a extensão a ser adicionado.

Valor de retorno

O tipo do objeto extent resultante.

operator-

Cria um novo objeto extent subtraindo cada elemento no objeto index especificado do elemento correspondente neste objeto extent.

Sintaxe

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

Parâmetros

_Rhs
O objeto index que contém os elementos a serem subtraídos.

Valor de retorno

O novo objeto extent.

operador--

Decrementa cada elemento no objeto extent.

Sintaxe

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

Valor retornado

Para o operador de prefixo, o objeto extent (*this). Para o operador de sufixo, um novo objeto extent.

operator/=

Divide cada elemento no objeto extent pelo número especificado.

Sintaxe

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

Parâmetros

_Rhs
Número pelo qual dividir.

Valor de retorno

O objeto extent.

operador-=

Subtrai o número especificado de cada elemento do objeto extent.

Sintaxe

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

Parâmetros

_Rhs
O número a ser subtraído.

Valor de retorno

O tipo do objeto extent resultante.

operator=

Copia o conteúdo de outro objeto extent neste.

Sintaxe

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

Parâmetros

_Other
O objeto extent do qual copiar.

Valor de retorno

Uma referência a esse objeto extent.

extent::operator []

Retorna o elemento que está no índice especificado.

Sintaxe

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

Parâmetros

_Index
Um inteiro que vai de 0 até a classificação menos 1.

Valor de retorno

O elemento que está no índice especificado.

rank

Armazena a classificação do objeto extent.

Sintaxe

static const int rank = _Rank;

tamanho

Retorna o tamanho linear total do objeto extent (em unidades de elementos).

Sintaxe

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

bloco

Produz um objeto tiled_extent com as dimensões de bloco especificadas.

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 ;

Parâmetros

_Dim0
O componente mais significativo da extensão de lado a lado. _Dim1
O segundo componente mais significativo da extensão de lado a lado. _Dim2
O componente menos significativo da extensão de lado a lado.

Confira também

Namespace de simultaneidade (C++ AMP)