На этом шаге мы перечислим функции, которые описаны в этом классе.
Класс valarray определяет следующие функции.
size_t <I>valarray</I>::size () const
void valarray::resize (size_t num) void valarray::resize (size_t num, Т value)
При увеличении размера новые элементы инициализируются конструктором по умолчанию или значением value соответственно.
Обе формы делают недействительными все указатели и ссылки на элементы массива значений.
Функции поддерживаются только для создания массивов, элементами которых являются массивы значений. После создания массива значений конструктором по умолчанию следует задать его правильный размер вызовом resize().
Т valarray::min () const Т valarray::max () const
Вторая форма возвращает максимальное значение среди элементов массива значений.
Элементы сравниваются операторами < и >, поэтому эти операторы должны быть определены для типа элементов.
Если массив значений не содержит элементов, то возвращаемые значения не определены.
Т valarray::sum () const
Элементы обрабатываются оператором += , поэтому этот оператор должен быть определен для типа элементов.
Если массив значений не содержит ни одного элемента, то возвращаемое значение не определено.
valarray valarray::shift (int num) const
Возвращаемый массив значений содержит то же количество элементов.
Элементы в позициях, освободившихся в результате сдвига, инициализируются конструктором по умолчанию.
Направление сдвига зависит от знака num:
valarray valarray::cshift (int num) const
Возвращаемый массив значений содержит то же количество элементов.
Направление сдвига зависит от знака num:
valarray valarray::apply (T op(T)) const valarray valarray::apply (T op(const T&)) const
Возвращаемый массив значений содержит то же количество элементов.
Для каждого элемента *this вызывается предикат op(elem), а соответствующий элемент возвращаемого массива инициализируется результатом вызова.
На следующем шаге мы рассмотрим обращение к элементам.