|
template<typename T > |
constexpr T | o3tl::saturating_add (T a, T b) |
|
template<typename T > |
constexpr T | o3tl::saturating_sub (T a, T b) |
|
template<typename T > |
std::enable_if< std::is_signed< T >::value, T >::type | o3tl::saturating_toggle_sign (T a) |
|
template<typename T > |
std::enable_if< std::is_signed< T >::value, bool >::type | o3tl::checked_multiply (T a, T b, T &result) |
|
template<typename T > |
std::enable_if< std::is_unsigned< T >::value, bool >::type | o3tl::checked_multiply (T a, T b, T &result) |
|
template<typename T > |
std::enable_if< std::is_signed< T >::value, bool >::type | o3tl::checked_add (T a, T b, T &result) |
|
template<typename T > |
std::enable_if< std::is_unsigned< T >::value, bool >::type | o3tl::checked_add (T a, T b, T &result) |
|
template<typename T > |
std::enable_if< std::is_signed< T >::value, bool >::type | o3tl::checked_sub (T a, T b, T &result) |
|
template<typename T > |
std::enable_if< std::is_unsigned< T >::value, bool >::type | o3tl::checked_sub (T a, T b, T &result) |
|
template<typename T > |
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > | o3tl::make_unsigned (T value) |
|
template<typename T1 , typename T2 > |
constexpr std::enable_if_t< std::is_unsigned_v< T1 >, T1 > | o3tl::clamp_to_unsigned (T2 value) |
|
template<typename T1 , typename T2 > |
constexpr T1 | o3tl::narrowing (T2 value) |
|
template<typename T > |
T | o3tl::sanitizing_min (T a, T b) |
|