14 static_assert(std::is_floating_point_v<To> || std::is_integral_v<To>,
"is_lossless_cast 'To' must be float or integer");
15 static_assert(std::is_floating_point_v<From> || std::is_integral_v<From>,
"is_lossless_cast 'From' must be float or integer");
17 static constexpr bool value =
18 std::is_floating_point_v<To> ||
19 (std::is_signed_v<To> &&
sizeof(To) >
sizeof(From)) ||
20 (std::is_signed_v<To> == std::is_signed_v<To> &&
sizeof(To) >=
sizeof(From));