#include "ByteSwap.h" namespace PortabilityLayer { namespace ByteSwap { void BigInt16(int16_t &v) { const uint8_t *asU8 = reinterpret_cast(&v); const int8_t *asS8 = reinterpret_cast(&v); v = static_cast((asS8[0] << 8) | asU8[1]); } void BigInt32(int32_t &v) { const uint8_t *asU8 = reinterpret_cast(&v); const int8_t *asS8 = reinterpret_cast(&v); v = static_cast((asS8[0] << 24) | (asU8[1] << 16) | (asU8[2] << 8) | asU8[3]); } void BigUInt16(uint16_t &v) { const uint8_t *asU8 = reinterpret_cast(&v); v = static_cast((asU8[0] << 8) | asU8[1]); } void BigUInt32(uint32_t &v) { const uint8_t *asU8 = reinterpret_cast(&v); v = static_cast((asU8[0] << 24) | (asU8[1] << 16) | (asU8[2] << 8) | asU8[3]); } } }