Partager via


gslice_array Class

Une classe de modèle interne et auxiliaire qui prend en charge le découpage général objets en fournissant des opérations entre les tableaux de sous-ensemble définies par le découpage général d'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
}

Notes

La classe décrit un objet qui stocke une référence à un objet VA de classe valarray<Type>, ainsi qu'un objet gs de la classe gslice qui décrit l'ordre des éléments pour sélectionner l'objet de valarray<Type> .

Vous construisez un objet de gslice_array<Type> uniquement en écrivant une expression de formulaire accède gs [].Les fonctions membres de la classe gslice_array se comportent ensuite comme les signatures de la fonction correspondantes définies pour valarray<Type>, sauf que seule la séquence d'éléments sélectionnés est affectée.

La classe de modèle est créée indirectement par certaines opérations de valarray et ne peut pas être utilisée directement dans le programme.Une classe de modèle auxiliaire interne à la place est utilisée par l'opérateur souscrit de découpage :

gslice_array<Type> valarray< >_double_colon_operator[] (constgslice&) deType.

Vous construisez un objet de gslice_array<Type> uniquement en écrivant une expression de formulaire va[gsl], pour un secteur gsl de valarray VA.Les fonctions membres de la classe gslice_array se comportent ensuite comme les signatures de la 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 est définie par les trois paramètres du constructeur de découpage, de l'index du premier élément du premier découpage, du nombre d'éléments dans chaque tranche, et la distance entre les éléments de chaque la section.

Dans l'exemple ci-dessous :

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 la procédure soit valide.

Exemple

Consultez l'exemple pour gslice::gslice pour obtenir un exemple sur la façon de déclarer et utiliser un slice_array.

Configuration requise

en-tête : <valarray>

l'espace de noms : DST

Voir aussi

Référence

Sécurité des threads dans la bibliothèque C++ standard