Classe slice_array
Modello di classe ausiliario interno che supporta slice
gli oggetti fornendo operazioni tra matrici di subset definite dalla sezione di un oggetto valarray
.
Sintassi
template <class Type>
class slice_array : public slice {
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
}
Osservazioni:
La classe descrive un oggetto che archivia un riferimento a un oggetto della classe valarray<Type>
, insieme a un oggetto della classe slice
, che descrive la sequenza di elementi da selezionare dall'oggetto valarray<Type>
.
Il modello di classe viene creato indirettamente da determinate valarray
operazioni e non può essere usato direttamente nel programma. Modello di classe ausiliario interno usato dall'operatore slice
di indice:
slice_array<Type> valarray<Type>::operator[]( slice )
.
Si costruisce un slice_array<Type>
oggetto solo scrivendo un'espressione del formato va[sl]
, per una sezione sl
di valarray va
. Le funzioni membro della classe slice_array
si comportano quindi come le firme di funzione corrispondenti definite per valarray<Type>
, ad eccezione del fatto che è interessata solo la sequenza di elementi selezionati. La sequenza controllata da slice_array
è definita dai tre parametri del slice
costruttore, dall'indice del primo elemento in slice
, dal numero di elementi e dalla distanza tra gli elementi. Un slice_array
taglio da valarray
va
dichiarato da va[slice(2, 5, 3)]
seleziona gli elementi con indici 2, 5, 8, 11 e 14 da va
. Affinché la procedura sia valida, è necessario che gli indici siano validi.
Esempio
Vedere l'esempio per slice::slice
un esempio di come dichiarare e usare un oggetto slice_array
.
Requisiti
Intestazione:<valarray>
Spazio dei nomi: std