#pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include template struct be { T value; T get() const { if constexpr (std::is_enum_v) return T(std::byteswap(std::underlying_type_t(value))); else return std::byteswap(value); } operator T() const { return get(); } };