34 #include <type_traits>
36 template <
class T,
class =
void>
53 static_assert(std::is_same<uint16_t, T>::value ||
54 std::is_same<uint32_t, T>::value ||
55 std::is_same<float, T>::value || std::is_same<double, T>::value);
56 if (std::is_same<uint16_t, T>::value)
58 return (
s !=
static_cast<uint16_t
>(65535));
59 }
else if (std::is_same<uint32_t, T>::value)
61 return (
s != 4294967295u);
62 }
else if (std::is_same<float, T>::value)
64 return (!std::isnan(
s) && (
s != -2e10f));
65 }
else if (std::is_same<double, T>::value)
67 return (!std::isnan(
s) && (
s != -2e10));