Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una clase de plantilla interna, auxiliar que admite objetos generales del segmento proporcionando operaciones entre matrices de subconjunto definido por el segmento general de un valarray.
template<class Type>
class gslice_array : public gsplice {
public:
typedef Type value_type;
void operator=(
const valarray<Type>& x
) const;
void operator=(
const Type& x
) const;
void operator*=(
const valarray<Type>& x
) const;
void operator/=(
const valarray<Type>& x
) const;
void operator%=(
const valarray<Type>& x
) const;
void operator+=(
const valarray<Type>& x
) const;
void operator-=(
const valarray<Type>& x
) const;
void operator^=(
const valarray<Type>& x
) const;
void operator&=(
const valarray<Type>& x
) const;
void operator|=(
const valarray<Type>& x
) const;
void operator<<=(
const valarray<Type>& x
) const;
void operator>>=(
const valarray<Type>& x
) const;
// The rest is private or implementation defined
}
Comentarios
La clase describe un objeto que almacena una referencia a un objeto va de la clase valarray <tipo> , junto con un objeto gs de la clase gslice que describe la secuencia de elementos para seleccionar del objeto de <tipo> valarray .
Se crea un objeto de <tipo> gslice_array sólo escribiendo una expresión de formulario va [gs].Las funciones miembro de clases gslice_array se comportan como las firmas correspondientes de la función definido para <tipo> valarray, excepto que sólo la secuencia de elementos seleccionados se verá afectada.
La clase de plantilla se crea indirectamente en ciertas operaciones valarray y no se pueden usar directamente en el programa.Una clase de plantilla auxiliar interno en su lugar utiliza el operador de subíndice de segmento:
gslice_array<Type>valarray <Type>::operator[] (gslice&const).
Se crea un objeto de <tipo> gslice_array sólo escribiendo una expresión de formulario va [gsl], para un segmento gsl de vavalarray.Las funciones miembro de clases gslice_array se comportan como las firmas correspondientes de la función definido para <tipo> valarray, excepto que sólo la secuencia de elementos seleccionados se verá afectada.La secuencia controlada por el gslice_array está definido por los tres parámetros del constructor del segmento, el índice del primer elemento del primer segmento, el número de elementos de cada segmento, y la distancia entre los elementos de cada segmento.
En el ejemplo siguiente:
const size_t lv[] = {2, 3};
const size_t dv[] = {7, 2};
const valarray<size_t> len(lv, 2), str(dv, 2);
// va[gslice(3, len, str)] selects elements with
// indices 3, 5, 7, 10, 12, 14
los índices deben ser válidos para que el procedimiento sea válidos.
Ejemplo
Vea el ejemplo para gslice:: gslice para obtener un ejemplo de cómo declarar y utilizar un slice_array.
Requisitos
encabezado: <valarray>
espacio de nombres: std