71 if constexpr (!numeric_util::is_int_rangesafe<OutT, InT>())
73 if constexpr (numeric_util::is_int_u2s<OutT, InT>())
75 auto unsignedInVal =
static_cast<uintmax_t
>(inVal);
76 auto outMax =
static_cast<uintmax_t
>(std::numeric_limits<OutT>::max());
77 if (outMax < unsignedInVal)
80 else if constexpr (numeric_util::is_int_s2u<OutT, InT>())
82 auto lowerVal =
static_cast<uintmax_t
>(std::max(inVal, InT(0)));
83 auto upperLimit =
static_cast<uintmax_t
>(std::numeric_limits<OutT>::max());
84 if (inVal < 0 || lowerVal > upperLimit)
89 auto outMin =
static_cast<InT
>(std::numeric_limits<OutT>::min());
90 auto outMax =
static_cast<InT
>(std::numeric_limits<OutT>::max());
91 if (inVal < outMin || inVal > outMax)