foobar2000 SDK  2015-08-03
Data Structures | Namespaces | Functions | Variables
byte_order_helper.h File Reference

Go to the source code of this file.

Data Structures

class  pfc::__DecodeIntHelper< TInt, width, IsBigEndian >
 
class  pfc::__DecodeIntHelper< TInt, 0, IsBigEndian >
 
class  pfc::__DecodeIntHelper< TInt, 1, IsBigEndian >
 
class  pfc::__EncodeIntHelper< TInt, width, IsBigEndian >
 
class  pfc::__EncodeIntHelper< TInt, 0, IsBigEndian >
 
class  pfc::__EncodeIntHelper< TInt, 1, IsBigEndian >
 

Namespaces

 byte_order
 
 pfc
 

Functions

template<typename T >
T pfc::byteswap_if_be_t (T p_param)
 
template<typename T >
T pfc::byteswap_if_le_t (T p_param)
 
template<typename T >
T pfc::byteswap_int_t (T p_source)
 
void pfc::byteswap_raw (void *p_buffer, t_size p_bytes)
 
template<typename T >
T pfc::byteswap_t (T p_source)
 
template<>
char pfc::byteswap_t< char > (char p_source)
 
template<>
double pfc::byteswap_t< double > (double p_source)
 
template<>
float pfc::byteswap_t< float > (float p_source)
 
template<>
GUID pfc::byteswap_t< GUID > (GUID p_guid)
 
template<>
int pfc::byteswap_t< int > (int p_source)
 
template<>
long pfc::byteswap_t< long > (long p_source)
 
template<>
long long pfc::byteswap_t< long long > (long long p_source)
 
template<>
short pfc::byteswap_t< short > (short p_source)
 
template<>
signed char pfc::byteswap_t< signed char > (signed char p_source)
 
template<>
unsigned char pfc::byteswap_t< unsigned char > (unsigned char p_source)
 
template<>
unsigned int pfc::byteswap_t< unsigned int > (unsigned int p_source)
 
template<>
unsigned long pfc::byteswap_t< unsigned long > (unsigned long p_source)
 
template<>
unsigned long long pfc::byteswap_t< unsigned long long > (unsigned long long p_source)
 
template<>
unsigned short pfc::byteswap_t< unsigned short > (unsigned short p_source)
 
template<>
wchar_t pfc::byteswap_t< wchar_t > (wchar_t p_source)
 
template<typename TInt >
void pfc::decode_big_endian (TInt &p_out, const t_uint8 *p_buffer)
 
template<typename TInt >
TInt pfc::decode_big_endian (const t_uint8 *p_buffer)
 
template<bool IsBigEndian, typename TInt >
void pfc::decode_endian (TInt &p_out, const t_uint8 *p_buffer)
 
template<typename TInt >
void pfc::decode_little_endian (TInt &p_out, const t_uint8 *p_buffer)
 
template<typename TInt >
TInt pfc::decode_little_endian (const t_uint8 *p_buffer)
 
template<typename TInt >
void pfc::encode_big_endian (t_uint8 *p_buffer, TInt p_value)
 
template<bool IsBigEndian, typename TInt >
void pfc::encode_endian (t_uint8 *p_buffer, TInt p_in)
 
template<typename TInt >
void pfc::encode_little_endian (t_uint8 *p_buffer, TInt p_value)
 
template<typename T >
void byte_order::order_be_to_native_t (T &param)
 
template<typename T >
void byte_order::order_le_to_native_t (T &param)
 
template<typename T >
void byte_order::order_native_to_be_t (T &param)
 
template<typename T >
void byte_order::order_native_to_le_t (T &param)
 
template<unsigned width>
void pfc::reverse_bytes (t_uint8 *p_buffer)
 
template<>
void pfc::reverse_bytes< 0 > (t_uint8 *p_buffer)
 
template<>
void pfc::reverse_bytes< 1 > (t_uint8 *p_buffer)
 

Variables

static const bool pfc::byte_order_is_big_endian = !!PFC_BYTE_ORDER_IS_BIG_ENDIAN
 
static const bool pfc::byte_order_is_little_endian = !!PFC_BYTE_ORDER_IS_LITTLE_ENDIAN