valarray<T> operator+() const; | (1) | |

valarray<T> operator-() const; | (2) | |

valarray<T> operator~() const; | (3) | |

valarray<bool> operator!() const; | (4) |

Applies unary operators to each element in the numeric array.

(none).

A numeric array containing elements with values obtained by applying corresponding operator to the values in `*this`

.

(none).

Each of the operators can only be instantiated if the following requirements are met:

- The indicated operator can be applied to type
`T`

- The result value can be unambiguously converted to
`T`

(1-3) or`bool`

(4).

The function can be implemented with the return type different from `std::valarray`

. In this case, the replacement type has the following properties:

- All
`const`

member functions of`std::valarray`

are provided. -
`std::valarray`

,`std::slice_array`

,`std::gslice_array`

,`std::mask_array`

and`std::indirect_array`

can be constructed from the replacement type. - All functions accepting an argument of type
`const std::valarray&`

except`begin()`

and`end()`

(since C++14) should also accept the replacement type. - All functions accepting two arguments of type
`const std::valarray&`

should accept every combination of`const std::valarray&`

and the replacement type. - The return type does not add more than two levels of template nesting over the most deeply-nested argument type.

© cppreference.com

Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.

http://en.cppreference.com/w/cpp/numeric/valarray/operator_arith