29 Numerics library [numerics]

29.7 Numeric arrays [numarray]

29.7.2 Class template valarray [template.valarray]

29.7.2.3 valarray assignment [valarray.assign]

valarray& operator=(const valarray& v);

Effects: Каждому элементу *this массива присваивается значение соответствующего элемента v. Если длина v не равна длине , перед выполнением присваивания *thisизменяется размер , *this чтобы сделать два массива одинаковой длины, как при вызове resize(v.size()).

Postconditions: size() == v.size().

Returns: *this.

valarray& operator=(valarray&& v) noexcept;

Effects: *this получает значение v. Значение v после присваивания не указано.

Returns: *this.

Complexity: Линейный.

valarray& operator=(initializer_list<T> il);

Effects: Эквивалентен: return *this = valarray(il);

valarray& operator=(const T& v);

Effects: Присваивается v каждому элементу *this.

Returns: *this.

valarray& operator=(const slice_array<T>&); valarray& operator=(const gslice_array<T>&); valarray& operator=(const mask_array<T>&); valarray& operator=(const indirect_array<T>&);

Requires: Длина массива, на который ссылается аргумент, равна size(). Значение элемента в левой части valarray оператора присваивания не зависит от значения другого элемента в этой левой части.

Эти операторы позволяют назначать результаты обобщенной операции индексации непосредственно объекту valarray.