Share via


index (Clase)

Define un vector de índice de N dimensiones.

Sintaxis

template <int _Rank>
class index;

Parámetros

_Rank
La clasificación o número de dimensiones.

Miembros

Constructores públicos

Nombre Descripción
index (Constructor) Inicializa una nueva instancia de la clase index.

Operadores públicos

Nombre Descripción
Operador-- Disminuye cada elemento del objeto index.
operator%= Calcula el módulo (resto) de cada elemento del objeto index cuando ese elemento se divide entre un número.
operator*= Multiplica cada elemento del objeto index por un número.
operator/= Divide cada elemento del objeto index entre un número.
index::operator[] Devuelve el elemento que se encuentra en el índice especificado.
operator++ Incrementa cada elemento del objeto index.
operator+= Suma el número especificado a cada elemento del objeto index.
operator= Copia el contenido del objeto index especificado en este.
operator-= Resta el número especificado de cada elemento del objeto index.

Constantes públicas

Nombre Descripción
rank (Constante) Almacena la clasificación del objeto index.

Jerarquía de herencia

index

Comentarios

La estructura index representa un vector de coordenadas de N enteros que especifica una posición única en un espacio de N dimensiones. Los valores del vector se ordenan desde el más al menos significativo. Puede recuperar los valores de los componentes mediante operator=.

Requisitos

Encabezado: amp.h

Espacio de nombres: simultaneidad

index (Constructor)

Inicializa una nueva instancia de la clase 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
Matriz unidimensional con los valores de clasificación.

_I
Ubicación del índice en un índice unidimensional.

_I0
Longitud de la dimensión más significativa.

_I1
Longitud de la dimensión siguiente a la más significativa.

_I2
Longitud de la dimensión menos significativa.

_Other
Objeto de índice en el que se basa el nuevo objeto de índice.

Operador--

Disminuye cada elemento del objeto de índice.

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

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

Valores devueltos

Para el operador de prefijo, el objeto de índice (*this). Para el operador de sufijo, un nuevo objeto de índice.

operator%=

Calcula el módulo (resto) de cada elemento del objeto de índice cuando ese elemento se divide entre un número.

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

Parámetros

_Rhs
Número por el que se divide para buscar el módulo.

Valor devuelto

Objeto de índice.

operator*=

Multiplica cada elemento del objeto de índice por el número especificado.

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

Parámetros

_Rhs
Número por el que se multiplica.

operator/=

Divide cada elemento del objeto de índice entre el número especificado.

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

Parámetros

_Rhs
Número entre el que se va a dividir.

operator[]

Devuelve el componente del índice en la ubicación especificada.

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

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

Parámetros

_Index
Entero comprendido entre 0 y la clasificación menos 1.

Valor devuelto

El elemento que se encuentra en el índice especificado.

Comentarios

En el ejemplo siguiente se muestran los valores de componente del í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";

operator++

Incrementa cada elemento del objeto de índice.

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

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

Valor devuelto

Para el operador de prefijo, el objeto de índice (*this). Para el operador de sufijo, un nuevo objeto de índice.

operator+=

Suma el número especificado a cada elemento del objeto de índice.

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

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

Parámetros

_Rhs
Número que se va a sumar.

Valor devuelto

Objeto de índice.

operator=

Copia el contenido del objeto de índice especificado en este.

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

Parámetros

_Other
Objeto de índice desde el que se copia.

Valor devuelto

Referencia a este objeto de índice.

operator-=

Resta el número especificado de cada elemento del objeto de índice.

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

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

Parámetros

_Rhs
Número que se resta.

Valor devuelto

Objeto de índice.

Clasificación

Obtiene la clasificación del objeto de índice.

static const int rank = _Rank;

Consulte también

Espacio de nombres de simultaneidad (C++ AMP)