gslice::gslice

Eine Hilfsklasse zum Array von Werten, der verwendet wird, um mehrdimensionale Slices eines Wertarrays zu definieren.

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

Parameter

  • _StartIndex
    Der Wertarrayindex des ersten Elements in der Teilmenge.

  • _LenArray
    Ein Array, das die Anzahl der Elemente in jedem Slice angibt.

  • _IncArray
    Ein Array, das den Schritt in jedem Slice angibt.

Rückgabewert

Der Standardkonstruktor speichert null für den Startindex und Vektoren der Länge 0 (null) für die Längen- und Schrittvektoren.Der zweite Konstruktor speichert _StartIndex für den Startindex, _LenArray für das Längenarray und _IncArray für das Schrittarray.

Hinweise

gslice definiert eine Teilmenge eines Wertarrays, der aus mehreren Slices des Wertarrays dieser am Anfang jeder gleichen angegebenen Element besteht.Die Möglichkeit, Arrays zu verwenden, um mehrere Slices zu definieren ist der einzige Unterschied zwischen gslice und slice::slice.Der Anschnitt hat ein erstes Element mit einem Index von _StartIndex, einigen Elementen, die durch das erste Element aus _LenArray angegeben werden, und einem Schritt, der durch das erste Element aus _IncArray angegeben ist.Der nächste Satz von den orthogonalen Slices hat die ersten Elemente, die von den Anschnitt angegeben werden.Das zweite Element von _LenArray gibt die Anzahl von Elementen an.Der Schritt wird durch das zweite Element von _IncArray zugewiesen.Eine dritte Dimension von Slices würde die Elemente des zweidimensionalen Arrays als die beginnen Elementen nehmen und analog fortfahren

Beispiel

// 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;
}
  

Anforderungen

Header: <valarray>

Namespace: std

Siehe auch

Referenz

gslice Class