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