gslice::gslice
Třída nástroj valarray, který se používá k definování Multi-dimenzionální řezy valarray.
gslice( );
gslice(
size_t _StartIndex,
const valarray<size_t>& _LenArray,
const valarray<size_t>& _IncArray
);
Parametry
_StartIndex
Valarray index prvního prvku v podsadě._LenArray
Pole určující počet prvků v každém řezu._IncArray
Pole udává rozteč v každý řez.
Vrácená hodnota
Nula pro počáteční index a nulové délky vektorů pro délku a rozteč vektory jsou uloženy výchozí konstruktor.Druhý konstruktor obchody _StartIndex pro počáteční index _LenArray pro pole délky a _IncArray pro rozteč pole.
Poznámky
gslice definuje podmnožinu valarray, který se skládá z více řezů valarray, že každý start současně zadán element.Schopnost definovat více řezů pomocí matice je jediný rozdíl mezi gslice a slice::slice.První řez má první element s indexem z _StartIndex, prvky, na první element _LenArray, rozteč, dána první element a _IncArray.Další sada kolmé řezy má první prvky uvedené v první výseče.Druhý prvek _LenArray určuje počet prvků.Rozteč je dán druhého prvku _IncArray.Třetí rozměr řezů by trvat prvky dvourozměrné pole jako výchozí prvky a postupuje se analogicky
Příklad
// 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;
}
Požadavky
Záhlaví:<valarray>
Obor názvů: std