Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Classe
Modèle de classe interne auxiliaire qui prend en charge les objets de tranche généraux en fournissant des opérations entre des tableaux de sous-ensembles définis par la tranche générale d’un valarray.
Syntaxe
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
}
Notes
La classe décrit un objet qui stocke une référence à un objet de classevalarray<Type>, ainsi qu’un objet gs va de classegslice, qui décrit la séquence d’éléments à sélectionner dans l’objetvalarray<Type>.
Vous construisez un gslice_array<Type> objet uniquement en écrivant une expression du formulaire va[gs]. Les fonctions membres de la classe gslice_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.
Le modèle de classe est créé indirectement par certaines valarray opérations et ne peut pas être utilisé directement dans le programme. Un modèle de classe auxiliaire interne est utilisé à la place par l’opérateur d’indice slice :
gslice_array<Type> valarray<Type>::operator[]( const gslice& ).
Vous construisez un gslice_array<Type> objet uniquement en écrivant une expression du formulaire va[gsl], pour un slice gsl objet de valarray va. Les fonctions membres de la classe gslice_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 gslice_array paramètre est définie par les trois paramètres du slice constructeur, l’index du premier élément dans le premier slice, le nombre d’éléments de chaque sliceélément et la distance entre les éléments de chaque sliceélément.
Dans l’exemple suivant :
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
Les index doivent être valides pour que la procédure soit valide.
Exemple
Consultez l’exemple pour gslice::gslice obtenir un exemple de déclaration et d’utilisation d’un slice_array.
Spécifications
Header :<valarray>
Espace de noms : std