29 Numerics library [numerics]

29.10 Data-parallel types [simd]

29.10.7 Class template basic_vec [simd.class]

29.10.7.4 basic_vec unary operators [simd.unary]

Effects in [simd.unary] are applied as unary element-wise operations.
constexpr basic_vec& operator++() noexcept;
Constraints: requires (value_type a) { ++a; } is true.
Effects: Increments every element by one.
Returns: *this.
constexpr basic_vec operator++(int) noexcept;
Constraints: requires (value_type a) { a++; } is true.
Effects: Increments every element by one.
Returns: A copy of *this before incrementing.
constexpr basic_vec& operator--() noexcept;
Constraints: requires (value_type a) { --a; } is true.
Effects: Decrements every element by one.
Returns: *this.
constexpr basic_vec operator--(int) noexcept;
Constraints: requires (value_type a) { a--; } is true.
Effects: Decrements every element by one.
Returns: A copy of *this before decrementing.
constexpr mask_type operator!() const noexcept;
Constraints: requires (const value_type a) { !a; } is true.
Returns: A basic_mask object with the element set to !operator[](i) for all i in the range of [0, size()).
constexpr basic_vec operator~() const noexcept;
Constraints: requires (const value_type a) { ~a; } is true.
Returns: A basic_vec object with the element set to ~operator[](i) for all i in the range of [0, size()).
constexpr basic_vec operator+() const noexcept;
Constraints: requires (const value_type a) { +a; } is true.
Returns: *this.
constexpr basic_vec operator-() const noexcept;
Constraints: requires (const value_type a) { -a; } is true.
Returns: A basic_vec object where the element is initialized to -operator[](i) for all i in the range of [0, size()).