Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa
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 sliceobiekcie i odległość między elementami w każdym sliceobiekcie .
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