Compartilhar via


Classe slice_array

Um modelo de classe auxiliar interna, que dá suporte a objetos slice fornecendo operações entre matrizes de subconjunto definidas pela fatia de uma valarray.

Sintaxe

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
}

Comentários

A classe descreve um objeto que armazena uma referência a um objeto da classe valarray<Type>, juntamente com um objeto da classe slice, que descreve a sequência de elementos a serem selecionados do objeto valarray<Type>.

O modelo de classe é criado indiretamente por determinadas operações valarray e não pode ser usado diretamente no programa. Um modelo de classe auxiliar interna que é usada pelo operador de subscrito slice:

slice_array<Type> valarray<Type>::operator[]( slice ).

Você constrói um objeto slice_array<Type> apenas escrevendo uma expressão no formato va[sl], para uma fatia sl de valarray va. As funções de membro da classe slice_array, então, se comportam como as assinaturas de função correspondentes definidas para valarray<Type>, exceto pelo fato de somente a sequência de elementos selecionados ser afetada. A sequência controlada pela slice_array é definida pelos três parâmetros do construtor slice, o índice do primeiro elemento na slice, o número de elementos e a distância entre os elementos. Um slice_array corte de declarado valarray va por va[slice(2, 5, 3)] seleciona elementos com índices 2, 5, 8, 11 e 14 de va. Os índices devem ser válidos para que o procedimento seja válido.

Exemplo

Veja o exemplo de slice::slice que demonstra como declarar e usar uma slice_array.

Requisitos

Cabeçalho:<valarray>

Namespace: std

Confira também

Segurança de thread na Biblioteca Padrão do C++