Condividi tramite


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

Vedi anche

Thread safety nella libreria standard C++