Partager via


gslice::gslice

Une classe de service au valarray utilisé pour définir les slices multidimensionnels d'un valarray.

gslice( );
gslice(
   size_t _StartIndex,
   const valarray<size_t>& _LenArray,
   const valarray<size_t>& _IncArray
);

Paramètres

  • _StartIndex
    L'index de valarray du premier élément du sous-ensemble.

  • _LenArray
    Un tableau en spécifiant le nombre d'éléments dans chaque la section.

  • _IncArray
    Un tableau en spécifiant la largeur de numérisation dans chaque la section.

Valeur de retour

Le constructeur par défaut stocke zéro pour l'index de départ, et vecteurs de longueur zéro pour les vecteurs de longueur et de largeur de numérisation.Le deuxième constructeur stocke _StartIndex pour l'index de départ, _LenArray pour le tableau de longueur, et _IncArray pour le tableau de largeur de numérisation.

Notes

gslice définit un sous-ensemble d'un valarray qui se compose de plusieurs slices du valarray ce chaque démarrage au même élément spécifié.Possibilité d'utiliser des tableaux pour définir plusieurs slices est la seule différence entre gslice et slice::slice.Le premier découpage a un premier élément avec un index d' _StartIndex, un nombre d'éléments spécifiés par le premier élément d' _LenArray, et une largeur de numérisation fournie par le premier élément d' _IncArray.L'ensemble suivant de slices orthogonaux a les premiers éléments fournis par le premier la section.Le deuxième élément d' _LenArray spécifie le nombre d'éléments.La largeur de numérisation est fournie par le deuxième élément d' _IncArray.Une troisième dimension des slices prendrait les éléments du tableau à deux dimensions en tant qu'éléments commençants et continuerait de façon analogue

Exemple

// gslice_ctor.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>

int main( )
{
   using namespace std;
   int i;

   valarray<int> va ( 20 ), vaResult;
   for ( i = 0 ; i < 20 ; i+=1 ) 
      va [ i ] =  i;

   cout << "The operand valarray va is:" << endl << "(";
   for ( i = 0 ; i < 20 ; i++ )
      cout << " " << va [ i ];
   cout << " )" << endl;

   valarray<size_t> Len ( 2 ), Stride ( 2 );
   Len [0] = 4;
   Len [1] = 4;
   Stride [0] = 7;
   Stride [1] = 4;

   gslice vaGSlice ( 0, Len, Stride );
   vaResult = va [ vaGSlice ];

   cout << "The valarray for vaGSlice is vaResult:" << endl
        << "va[vaGSlice] = (";
   
   for ( i = 0 ; i < 8 ; i++ )
      cout << " " << vaResult [ i ];
   cout << ")" << endl;
}
  

Configuration requise

en-tête : <valarray>

l'espace de noms : DST

Voir aussi

Référence

gslice Class