template<class T>
constexpr T saturating_add(T x, T y) noexcept;
template<class T>
constexpr T saturating_sub(T x, T y) noexcept;
template<class T>
constexpr T saturating_mul(T x, T y) noexcept;
template<class T>
constexpr T saturating_div(T x, T y) noexcept;