Compartir vía


Clase slice_array

Plantilla de clase auxiliar e interna que admite objetos slice al proporcionar operaciones entre matrices de subconjuntos definidas por el sector de una valarray.

Sintaxis

template <class Type>
class slice_array : public slice {
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 de la clase valarray<Type>, junto con un objeto de la clase slice, que describe la secuencia de elementos que se pueden seleccionar desde el objeto valarray<Type>.

La plantilla de la clase se crea indirectamente por determinadas operaciones valarray y no se puede usar directamente en el programa. El operador de subíndice slice usa una plantilla de la clase auxiliar interna:

slice_array<Type> valarray<Type>::operator[]( slice ).

El objeto slice_array<Type> solo se construye mediante la escritura de una expresión de formato va[sl], para un sector sl de valarrayva. Las funciones miembro de la clase slice_array se comportarán como las firmas de función correspondientes definidas para valarray<Type>, excepto en que solo la secuencia de elementos seleccionados se ve afectada. La secuencia controlada por slice_array se define mediante los tres parámetros del constructor slice, el índice del primer elemento en slice, el número de elementos y la distancia entre los elementos. Un slice_array corte de valarray va declarado por va[slice(2, 5, 3)] selecciona elementos con índices 2, 5, 8, 11 y 14 de va. Los índices deben ser válidos para que el procedimiento sea válido.

Ejemplo

Vea el ejemplo de slice::slice para obtener un ejemplo de cómo declarar y usar un slice_array.

Requisitos

Encabezado:<valarray>

Espacio de nombres: std

Consulte también

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