Classe slice_array
Modèle de classe auxiliaire interne qui prend en charge slice
les objets en fournissant des opérations entre des tableaux de sous-ensembles définis par la tranche d’un valarray
.
Syntaxe
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
}
Notes
La classe décrit un objet qui stocke une référence à un objet de classe valarray<Type>
, ainsi qu’un objet de classe slice
, qui décrit la séquence d’éléments à sélectionner dans l’objet valarray<Type>
.
Le modèle de classe est créé indirectement par certaines valarray
opérations et ne peut pas être utilisé directement dans le programme. Modèle de classe auxiliaire interne utilisé par l’opérateur d’indice slice
:
slice_array<Type> valarray<Type>::operator[]( slice )
.
Vous construisez un slice_array<Type>
objet uniquement en écrivant une expression du formulaire va[sl]
, pour une tranche sl
de valarray va
. Les fonctions membres de la classe slice_array
se comportent ensuite comme les signatures de fonction correspondantes définies pour valarray<Type>
, sauf que seule la séquence d’éléments sélectionnés est affectée. La séquence contrôlée par le slice_array
paramètre est définie par les trois paramètres du slice
constructeur, l’index du premier élément du slice
, le nombre d’éléments et la distance entre les éléments. Une slice_array
coupe à partir valarray
va
de déclarée par va[slice(2, 5, 3)]
sélectionne des éléments avec des indices 2, 5, 8, 11 et 14 de va
. Les index doivent être valides pour que la procédure soit valide.
Exemple
Consultez l’exemple pour slice::slice
obtenir un exemple de déclaration et d’utilisation d’un slice_array
.
Spécifications
Header :<valarray>
Espace de noms : std