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