diff --git a/src/util/ByteUtil.h b/src/util/ByteUtil.h index 6e2f207..52de8f4 100644 --- a/src/util/ByteUtil.h +++ b/src/util/ByteUtil.h @@ -30,7 +30,11 @@ namespace Feather inline int64_t ReverseBytes(int64_t n) { return int64_t(ReverseBytes(uint64_t(n))); } template - inline T ReverseBytesBitcast(T n) { return std::bit_cast(ReverseBytes(std::bit_cast(n))); } + inline T ReverseBytesBitcast(T n) + { + static_assert(sizeof(T) == sizeof(J)); + return std::bit_cast(ReverseBytes(std::bit_cast(n))); + } inline float ReverseBytes(float n) { return ReverseBytesBitcast(n); } inline double ReverseBytes(double n) { return ReverseBytesBitcast(n); }