Static assert sizes in ReverseBytesBitcast
This commit is contained in:
parent
f7c6f7ad97
commit
5b44d39e9e
|
@ -30,7 +30,11 @@ namespace Feather
|
|||
inline int64_t ReverseBytes(int64_t n) { return int64_t(ReverseBytes(uint64_t(n))); }
|
||||
|
||||
template <typename J, typename T>
|
||||
inline T ReverseBytesBitcast(T n) { return std::bit_cast<T>(ReverseBytes(std::bit_cast<J>(n))); }
|
||||
inline T ReverseBytesBitcast(T n)
|
||||
{
|
||||
static_assert(sizeof(T) == sizeof(J));
|
||||
return std::bit_cast<T>(ReverseBytes(std::bit_cast<J>(n)));
|
||||
}
|
||||
|
||||
inline float ReverseBytes(float n) { return ReverseBytesBitcast<uint32_t>(n); }
|
||||
inline double ReverseBytes(double n) { return ReverseBytesBitcast<uint64_t>(n); }
|
||||
|
|
Loading…
Reference in New Issue