Several decisions were made when creating these functions:
host
instead of h
ost
is too much more to type and I think it adds to readabilitynet
instead of n
for the same reasons as host
le
for little-endianle
and littleendian
. Somehow the latter seems awkward.be
for big-endianfloats
and doubles
as well as 16, 32 and 64-bit integers
Functions | |
uint64_t | bit::be_to_host (uint64_t x) |
convert 64 bit value x from big-endian to host byte order | |
int64_t | bit::be_to_host (int64_t x) |
convert 64 bit value x from big-endian to host byte order | |
uint32_t | bit::be_to_host (uint32_t x) |
convert 32 bit value x from big-endian to host byte order | |
int32_t | bit::be_to_host (int32_t x) |
convert 32 bit value x from big-endian to host byte order | |
uint16_t | bit::be_to_host (uint16_t x) |
convert 16 bit value x from big-endian to host byte order | |
int16_t | bit::be_to_host (int16_t x) |
convert 16 bit value x from big-endian to host byte order | |
uint8_t | bit::be_to_host (uint8_t x) |
convert 8 bit value x from big-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::be_to_host (int8_t x) |
convert 8 bit value x from big-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | bit::host_to_be (uint64_t x) |
convert 64 bit value x from host to big-endian byte order | |
int64_t | bit::host_to_be (int64_t x) |
convert 64 bit value x from host to big-endian byte order | |
uint32_t | bit::host_to_be (uint32_t x) |
convert 32 bit value x from host to big-endian byte order | |
int32_t | bit::host_to_be (int32_t x) |
convert 32 bit value x from host to big-endian byte order | |
uint16_t | bit::host_to_be (uint16_t x) |
convert 16 bit value x from host to big-endian byte order | |
int16_t | bit::host_to_be (int16_t x) |
convert 16 bit value x from host to big-endian byte order | |
uint8_t | bit::host_to_be (uint8_t x) |
convert 8 bit value x from host to big-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::host_to_be (int8_t x) |
convert 8 bit value x from host to big-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | bit::le_to_host (uint64_t x) |
convert 64 bit value x from little-endian to host byte order | |
int64_t | bit::le_to_host (int64_t x) |
convert 64 bit value x from little-endian to host byte order | |
uint32_t | bit::le_to_host (uint32_t x) |
convert 32 bit value x from little-endian to host byte order | |
int32_t | bit::le_to_host (int32_t x) |
convert 32 bit value x from little-endian to host byte order | |
uint16_t | bit::le_to_host (uint16_t x) |
convert 16 bit value x from little-endian to host byte order | |
int16_t | bit::le_to_host (int16_t x) |
convert 16 bit value x from little-endian to host byte order | |
uint8_t | bit::le_to_host (uint8_t x) |
convert 8 bit value x from little-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::le_to_host (int8_t x) |
convert 8 bit value x from little-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | bit::host_to_le (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | bit::host_to_le (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | bit::host_to_le (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | bit::host_to_le (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | bit::host_to_le (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | bit::host_to_le (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | bit::host_to_le (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::host_to_le (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | bit::net_to_host (uint64_t x) |
convert 64 bit value x from network to host byte order | |
int64_t | bit::net_to_host (int64_t x) |
convert 64 bit value x from network to host byte order | |
uint32_t | bit::net_to_host (uint32_t x) |
convert 32 bit value x from network to host byte order | |
int32_t | bit::net_to_host (int32_t x) |
convert 32 bit value x from network to host byte order | |
uint16_t | bit::net_to_host (uint16_t x) |
convert 16 bit value x from network to host byte order | |
int16_t | bit::net_to_host (int16_t x) |
convert 16 bit value x from network to host byte order | |
uint8_t | bit::net_to_host (uint8_t x) |
convert 8 bit value x from network to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::net_to_host (int8_t x) |
convert 8 bit value x from network to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | bit::host_to_net (uint64_t x) |
convert 64 bit value x from host to network byte order | |
int64_t | bit::host_to_net (int64_t x) |
convert 64 bit value x from host to network byte order | |
uint32_t | bit::host_to_net (uint32_t x) |
convert 32 bit value x from host to network byte order | |
int32_t | bit::host_to_net (int32_t x) |
convert 32 bit value x from host to network byte order | |
uint16_t | bit::host_to_net (uint16_t x) |
convert 16 bit value x from host to network byte order | |
int16_t | bit::host_to_net (int16_t x) |
convert 16 bit value x from host to network byte order | |
uint8_t | bit::host_to_net (uint8_t x) |
convert 8 bit value x from host to network byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::host_to_net (int8_t x) |
convert 8 bit value x from host to network byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | bit::le_to_be (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | bit::le_to_be (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | bit::le_to_be (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | bit::le_to_be (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | bit::le_to_be (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | bit::le_to_be (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | bit::le_to_be (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::le_to_be (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | bit::le_to_net (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | bit::le_to_net (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | bit::le_to_net (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | bit::le_to_net (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | bit::le_to_net (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | bit::le_to_net (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | bit::le_to_net (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::le_to_net (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | bit::be_to_le (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | bit::be_to_le (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | bit::be_to_le (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | bit::be_to_le (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | bit::be_to_le (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | bit::be_to_le (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | bit::be_to_le (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::be_to_le (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
uint64_t | bit::net_to_le (uint64_t x) |
convert 64 bit value x from host to little-endian byte order | |
int64_t | bit::net_to_le (int64_t x) |
convert 64 bit value x from host to little-endian byte order | |
uint32_t | bit::net_to_le (uint32_t x) |
convert 32 bit value x from host to little-endian byte order | |
int32_t | bit::net_to_le (int32_t x) |
convert 32 bit value x from host to little-endian byte order | |
uint16_t | bit::net_to_le (uint16_t x) |
convert 16 bit value x from host to little-endian byte order | |
int16_t | bit::net_to_le (int16_t x) |
convert 16 bit value x from host to little-endian byte order | |
uint8_t | bit::net_to_le (uint8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
int8_t | bit::net_to_le (int8_t x) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values. | |
double | bit::be_to_host (double x) |
convert double value x from network to host byte order | |
double | bit::le_to_host (double x) |
convert double value x from network to host byte order | |
double | bit::net_to_host (double x) |
convert double value x from network to host byte order | |
float | bit::be_to_host (float x) |
convert float value x from network to host byte order | |
float | bit::le_to_host (float x) |
convert float value x from network to host byte order | |
float | bit::net_to_host (float x) |
convert float value x from network to host byte order | |
long double | bit::be_to_host (long double x) |
convert long double value x from network to host byte order | |
long double | bit::le_to_host (long double x) |
convert long double value x from network to host byte order | |
long double | bit::net_to_host (long double x) |
convert long double value x from network to host byte order | |
double | bit::host_to_be (double x) |
convert double value x from host to network byte order | |
double | bit::host_to_le (double x) |
convert double value x from host to network byte order | |
double | bit::host_to_net (double x) |
convert double value x from host to network byte order | |
float | bit::host_to_be (float x) |
convert float value x from host to network byte order | |
float | bit::host_to_le (float x) |
convert float value x from host to network byte order | |
float | bit::host_to_net (float x) |
convert float value x from host to network byte order | |
long double | bit::host_to_be (long double x) |
convert long double value x from host to network byte order | |
long double | bit::host_to_le (long double x) |
convert long double value x from host to network byte order | |
long double | bit::host_to_net (long double x) |
convert long double value x from host to network byte order | |
double | bit::le_to_be (double x) |
convert double value x from host to network byte order | |
float | bit::le_to_be (float x) |
convert float value x from host to network byte order | |
long double | bit::le_to_be (long double x) |
convert long double value x from host to network byte order | |
double | bit::le_to_net (double x) |
convert double value x from host to network byte order | |
float | bit::le_to_net (float x) |
convert float value x from host to network byte order | |
long double | bit::le_to_net (long double x) |
convert long double value x from host to network byte order | |
double | bit::be_to_le (double x) |
convert double value x from host to network byte order | |
float | bit::be_to_le (float x) |
convert float value x from host to network byte order | |
long double | bit::be_to_le (long double x) |
convert long double value x from host to network byte order | |
double | bit::net_to_le (double x) |
convert double value x from host to network byte order | |
float | bit::net_to_le (float x) |
convert float value x from host to network byte order | |
long double | bit::net_to_le (long double x) |
convert long double value x from host to network byte order |
int8_t bit::be_to_host | ( | int8_t | x | ) |
convert 8 bit value x from big-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::be_to_host | ( | uint8_t | x | ) |
convert 8 bit value x from big-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
int8_t bit::be_to_le | ( | int8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::be_to_le | ( | uint8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
int8_t bit::host_to_be | ( | int8_t | x | ) |
convert 8 bit value x from host to big-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::host_to_be | ( | uint8_t | x | ) |
convert 8 bit value x from host to big-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
int8_t bit::host_to_le | ( | int8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::host_to_le | ( | uint8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
int8_t bit::host_to_net | ( | int8_t | x | ) |
convert 8 bit value x from host to network byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::host_to_net | ( | uint8_t | x | ) |
convert 8 bit value x from host to network byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
int8_t bit::le_to_be | ( | int8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::le_to_be | ( | uint8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
int8_t bit::le_to_host | ( | int8_t | x | ) |
convert 8 bit value x from little-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::le_to_host | ( | uint8_t | x | ) |
convert 8 bit value x from little-endian to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
int8_t bit::le_to_net | ( | int8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::le_to_net | ( | uint8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
int8_t bit::net_to_host | ( | int8_t | x | ) |
convert 8 bit value x from network to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::net_to_host | ( | uint8_t | x | ) |
convert 8 bit value x from network to host byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
int8_t bit::net_to_le | ( | int8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.
uint8_t bit::net_to_le | ( | uint8_t | x | ) |
convert 8 bit value x from host to little-endian byte order There aren't any endian changes for 8-bit values, but, this method is included to allow overloading to occur properly for all integer values.
Without this, calling be_to_host(uint16_t) is selected, which is not the expected behavior if this overloaded function is called from a template.