12inline constexpr Endianess CURRENT_ENDIANESS =
13#ifdef TOSHI_SKU_WINDOWS
19 return ( bytes[ 3 ] << 0 ) | ( bytes[ 2 ] << 8 ) | ( bytes[ 1 ] << 16 ) | ( bytes[ 0 ] << 24 );
24 return ( bytes[ 1 ] << 0 ) | ( bytes[ 0 ] << 8 );
29 TUINT32 result = SWAP32( bytes );
30 return *(
TFLOAT*)( &result );
35 if constexpr ( std::endian::native == std::endian::little )
return value;
36 else return SWAP32( (
const TUINT8*)&value );
41 if constexpr ( std::endian::native == std::endian::little )
return *(
TUINT32*)value;
42 else return SWAP32( value );
47 if constexpr ( std::endian::native == std::endian::little )
return SWAP32( (
const TUINT8*)&value );
53 if constexpr ( std::endian::native == std::endian::little )
return SWAP32( value );
59 if constexpr ( std::endian::native == std::endian::little )
return value;
60 else return SWAP16( (
const TUINT8*)&value );
65 if constexpr ( std::endian::native == std::endian::little )
return *(
TUINT16*)value;
66 else return SWAP16( value );
71 if constexpr ( std::endian::native == std::endian::little )
return SWAP16( (
const TUINT8*)&value );
77 if constexpr ( std::endian::native == std::endian::little )
return SWAP16( value );
83 if constexpr ( std::endian::native == std::endian::little )
return value;
84 else return SWAPFLOAT( (
const TUINT8*)&value );
89 if constexpr ( std::endian::native == std::endian::little )
return *(
TFLOAT*)value;
90 else return SWAPFLOAT( value );
95 if constexpr ( std::endian::native == std::endian::little )
return SWAPFLOAT( (
const TUINT8*)&value );
101 if constexpr ( std::endian::native == std::endian::little )
return SWAPFLOAT( value );
102 else return *(
TFLOAT*)value;
108 switch ( a_eEndianess )
111 if constexpr (
sizeof( T ) == 4 )
113 else if constexpr (
sizeof( T ) == 2 )
117 if constexpr (
sizeof( T ) == 4 )
119 else if constexpr (
sizeof( T ) == 2 )
#define TREINTERPRETCAST(TYPE, VALUE)