Compartilhar via


Classe index

Define um vetor de índice de dimensão N.

Sintaxe

template <int _Rank>
class index;

Parâmetros

_Rank
A classificação ou o número de dimensões.

Membros

Construtores públicos

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

Operadores públicos

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

Constantes públicas

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

Hierarquia de herança

index

Comentários

A estrutura index representa um vetor de coordenadas de N inteiros que especifica uma posição exclusiva em um espaço de dimensão N. Os valores no vetor são ordenados do mais significativo para o menos significativo. Você pode recuperar os valores dos componentes usando o operator=.

Requisitos

Cabeçalho: amp.h

Namespace: Simultaneidade

Construtor index

Inicializa uma nova instância da 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);

Parâmetros

_Array
Uma matriz unidimensional com os valores de classificação.

_I
O local do índice em um índice unidimensional.

_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 de índice no qual o novo objeto index se baseia.

operador--

Decrementa cada elemento do objeto index.

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

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

Valores retornados

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

operador%=

Calcula o módulo (restante) de cada elemento no objeto index quando esse elemento é dividido pelo número especificado.

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

Parâmetros

_Rhs
O número a ser dividido para encontrar o módulo.

Valor de retorno

O objeto index.

operator*=

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

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

Parâmetros

_Rhs
O número a ser multiplicado.

operator/=

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

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

Parâmetros

_Rhs
Número pelo qual dividir.

operador

Retorna o componente do índice no local especificado.

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

int& operator[] (
   unsigned _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.

Comentários

O exemplo a seguir exibe os valores de componente do índice.

// 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";

operador++

Incrementa cada elemento do objeto index.

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

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

Valor de retorno

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

operator+=

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

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

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

Parâmetros

_Rhs
O número a adicionar.

Valor de retorno

O objeto index.

operator=

Copia o conteúdo do objeto index especificado para este objeto.

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

Parâmetros

_Other
O objeto index do qual copiar.

Valor de retorno

Uma referência a esse objeto index.

operador-=

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

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

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

Parâmetros

_Rhs
O número a ser subtraído.

Valor de retorno

O objeto index.

Rank

Obtém a classificação do objeto index.

static const int rank = _Rank;

Confira também

Namespace de simultaneidade (C++ AMP)