Класс slice_array

Внутренний вспомогательный шаблон класса, поддерживающий объекты, предоставляя slice операции между массивами подмножества, определенными срезом.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
}

Замечания

Класс описывает объект, в котором хранится ссылка на объект класса valarray<Type>, а также объект класса slice, описывающий последовательность элементов для выбора из valarray<Type> объекта.

Шаблон класса создается косвенно определенными valarray операциями и не может использоваться непосредственно в программе. Внутренний вспомогательный шаблон класса, используемый оператором slice подстрока:

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

Объект создается slice_array<Type> только путем написания выражения формы va[sl]для среза sl valarray va. Затем функции-члены класса slice_array ведут себя как соответствующие подписи функций, определенные для valarray<Type>, за исключением того, что затрагивается только последовательность выбранных элементов. Последовательность, контролируемая slice_array конструктором, определяется тремя параметрами slice конструктора, индексом первого элемента в sliceэлементе, числом элементов и расстоянием между элементами. Вырезать slice_array из valarrayva объявленных va[slice(2, 5, 3)] элементами с индексами 2, 5, 8, 11 и 14 из va. Чтобы процедура была действительной, индексы должны быть действительными.

Пример

Пример объявления и использования slice_arrayсм. в примереslice::slice.

Требования

Заголовок:<valarray>

Пространство именstd:

См. также

Безопасность потоков в стандартной библиотеке C++