Klasa gslice_array
Wewnętrzny szablon klasy pomocniczej, który obsługuje ogólne obiekty fragmentowania, zapewniając operacje między tablicami podzestawu zdefiniowanymi przez ogólny wycinek klasy valarray
.
Składnia
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
}
Uwagi
Klasa opisuje obiekt, który przechowuje odwołanie do obiektu klasy , wraz z obiektem va
gs
klasy valarray<Type>
gslice
, który opisuje sekwencję elementów do wybrania z valarray<Type>
obiektu.
Obiekt tworzy gslice_array<Type>
się tylko przez napisanie wyrażenia formularza va[gs]
. Funkcje składowe klasy gslice_array
zachowują się wtedy jak odpowiednie sygnatury funkcji zdefiniowane dla valarray<Type>
elementu , z tą różnicą, że dotyczy to tylko sekwencji wybranych elementów.
Szablon klasy jest tworzony pośrednio przez niektóre valarray
operacje i nie można go używać bezpośrednio w programie. Wewnętrzny szablon klasy pomocniczej jest używany przez operator indeksu slice
dolnego:
gslice_array<Type> valarray<Type>::operator[]( const gslice& )
.
Obiekt można gslice_array<Type>
skonstruować tylko przez napisanie wyrażenia formularza va[gsl]
, dla elementu valarray
slice
gsl
va
. Funkcje składowe klasy gslice_array
zachowują się wtedy jak odpowiednie sygnatury funkcji zdefiniowane dla valarray<Type>
elementu , z tą różnicą, że dotyczy to tylko sekwencji wybranych elementów. Sekwencja kontrolowana przez gslice_array
element jest definiowana przez trzy parametry slice
konstruktora, indeks pierwszego elementu w pierwszym slice
, liczbę elementów w każdym slice
obiekcie i odległość między elementami w każdym slice
obiekcie .
W poniższym przykładzie:
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
Indeksy muszą być prawidłowe, aby procedura jest prawidłowa.
Przykład
Zobacz przykład, aby gslice::gslice
zapoznać się z przykładem deklarowania i używania slice_array.
Wymagania
Header:<valarray>
Przestrzeń nazw: std