Compartir a través de


gslice_array Class

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

Vea también

Referencia

Seguridad para subprocesos de la biblioteca estándar de C++