24 if constexpr (
sizeof(T) == 1) {
26 }
else if constexpr (
sizeof(T) == 2) {
27 return (T)__builtin_bswap16((uint16_t)
v);
28 }
else if constexpr (
sizeof(T) == 4) {
29 return (T)__builtin_bswap32((uint32_t)
v);
31 static_assert(
sizeof(T) == 8);
32 return (T)__builtin_bswap64((uint64_t)
v);