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.
Rango
Obtiene la clasificación del objeto de índice.
static const int rank = _Rank;