Adds a safe_int to an integral scalar, checking for overflow.

Synopsis

Declared in <mp‐units/utility/safe_int.h>

template<typename U>
requires (detail::integral<U> && detail::same_sign_v<U, T>)
[[nodiscard]]
constexpr
safe_int</* implementation-defined */, ErrorPolicy>
operator+(
    U lhs,
    safe_int rhs);
Note

This function is a hidden friend of safe_int, declared only inside that class: it can be found only through argument-dependent lookup.

Return Value

the sum, as a safe_int of the promoted result type; triggers ErrorPolicy::on_overflow on overflow

Note

The return value should not be discarded.

Template Parameters

Name

Description

U

the integral scalar type

Parameters

Name

Description

lhs

the integral scalar operand

rhs

the safe_int to add

Created with MrDocs