gslice_array Class
Una classe modello interna e ausiliaria che supporta la sezione generale oggetti fornendo le operazioni tra matrici del sottoinsieme definite nella sezione generale di un valarray.
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
}
Note
La classe viene illustrato un oggetto che archivia un riferimento a un oggetto va di classe valarray<Type>, con un oggetto gs di classe gslice che descrive la sequenza di elementi per scegliere dall'oggetto valarray<Type>.
Costruisce un oggetto gslice_array<Type> solo scrive un'espressione del form andare gs [].Le funzioni membro di classe gslice_array quindi si comportano come le firme della funzione corrispondenti definite per valarray<Type>, ma solo la sequenza di elementi selezionati viene modificata.
La classe modello viene creata indirettamente da determinate operazioni valarray e non può essere utilizzata direttamente nel programma.Una classe modello ausiliaria interna viene utilizzata dall'operatore di indice della sezione:
gslice_array<Tipo> valarray<Tipo>::operator[] (constgslice&).
Costruisce un oggetto gslice_array<Type> solo scrive un'espressione del form va[gsl], per una sezione gslvavalarray.Le funzioni membro di classe gslice_array quindi si comportano come le firme della funzione corrispondenti definite per valarray<Type>, ma solo la sequenza di elementi selezionati viene modificata.La sequenza controllata da gslice_array è definita da tre parametri del costruttore della sezione, indice del primo elemento della prima sezione, il numero di elementi in ogni sezione e la distanza tra gli elementi in ogni sezione.
Nell'esempio riportato di seguito:
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
Gli indici devono essere validi che la routine siano validi.
Esempio
Vedere l'esempio relativo gslice::gslice per un esempio di come dichiarare e utilizzare uno slice_array.
Requisiti
intestazione: <valarray>
Spazio dei nomi: deviazione standard