Compartilhar via


Classe slice_array

Uma classe interna, auxiliar do modelo que da suporte a objetos do intervalo fornecendo operações entre as matrizes de subconjunto definido pela fração de um valarray.

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<Tipo>, junto com um objeto da classe fatia, que descreve a sequência de elementos para selecionar do objeto de valarray<Type> .

A classe do modelo é criada indiretamente por determinadas operações valarray e não pode ser usada diretamente no programa. Uma classe interna, auxiliar de modelo usada pelo operador subscrito de fatias:

::<operator[] > deslice_array<TipovalarrayTipo(slice).

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

Exemplo

Consulte o exemplo de slice::slice para obter um exemplo de como declarar e usar um slice_array.

Requisitos

Cabeçalho: <valarray>

Namespace: std

Consulte também

Referência

Segurança de threads na Biblioteca Padrão C++