|
constexpr byte_order_enum | pabigot::byteorder::host_byte_order () |
| Return the byte_order_enum value for the host. More...
|
|
template<class T , class U = typename std::make_unsigned<T>::type> |
constexpr U | pabigot::byteorder::details::byteswap (T v) |
| Return a byte-swapped representation of an integral value. More...
|
|
template<typename T > |
constexpr std::enable_if< details::is_constexpr_swappable_v< T >, T >::type | pabigot::byteorder::byteswap (const T &t) |
| Byte-swap values at compile-time. More...
|
|
template<typename T > |
std::enable_if< details::is_alias_swappable_v< T >, T >::type | pabigot::byteorder::byteswap (const T &t) |
| Byte-swap values by aliasing a copy of the value to a uint8_t sequence.
|
|
template<typename T > |
std::enable_if< details::is_other_swappable_v< T >, T >::type | pabigot::byteorder::byteswap (const T &t) |
| Byte-swap values by creating a copy and using std::reverse . More...
|
|
template<typename T , byte_order_enum endian> |
constexpr std::enable_if< details::is_constexpr_swappable_v< T > &&(host_byte_order()==endian), T >::type | pabigot::byteorder::hostswap (const T &t) |
| constexpr-selected byte swap between host and endian. More...
|
|
template<typename T , byte_order_enum endian> |
std::enable_if<!details::is_constexpr_swappable_v< T > &&(host_byte_order()==endian), T >::type | pabigot::byteorder::hostswap (const T &t) |
| constexpr-selected byte swap between host and endian. More...
|
|
template<typename T , byte_order_enum endian> |
constexpr std::enable_if< details::is_constexpr_swappable_v< T > &&(host_byte_order() !=endian), T >::type | pabigot::byteorder::hostswap (const T &t) |
| constexpr-selected byte swap between host and endian. More...
|
|
template<typename T , byte_order_enum endian> |
std::enable_if<!details::is_constexpr_swappable_v< T > &&(host_byte_order() !=endian), T >::type | pabigot::byteorder::hostswap (const T &t) |
| constexpr-selected byte swap between host and endian. More...
|
|
template<typename T > |
constexpr std::enable_if< details::is_constexpr_swappable_v< T >, T >::type | pabigot::byteorder::host_x_le (const T &v) |
| Convert between host and little-endian byte order. More...
|
|
template<typename T > |
std::enable_if<!details::is_constexpr_swappable_v< T >, T >::type | pabigot::byteorder::host_x_le (const T &v) |
| Convert between host and little-endian byte order.
|
|
template<typename T > |
constexpr std::enable_if< details::is_constexpr_swappable_v< T >, T >::type | pabigot::byteorder::host_x_be (const T &v) |
| Convert between host and big-endian byte order. More...
|
|
template<typename T > |
std::enable_if<!details::is_constexpr_swappable_v< T >, T >::type | pabigot::byteorder::host_x_be (const T &v) |
| Convert between host and big-endian byte order.
|
|
template<typename T > |
constexpr std::enable_if< details::is_constexpr_swappable_v< T >, T >::type | pabigot::byteorder::be_x_le (const T &v) |
| Convert between big-endian and little-endian byte order. More...
|
|
template<typename T > |
std::enable_if<!details::is_constexpr_swappable_v< T >, T >::type | pabigot::byteorder::be_x_le (const T &v) |
| Convert between big-endian and little-endian byte order.
|
|
template<typename T > |
constexpr std::enable_if< details::is_constexpr_swappable_v< T >, T >::type | pabigot::byteorder::host_x_network (const T &v) |
| Convert between host and network byte order. More...
|
|
template<typename T > |
std::enable_if<!details::is_constexpr_swappable_v< T >, T >::type | pabigot::byteorder::host_x_network (const T &v) |
| Convert between host and network byte order.
|
|
Support for byte order manipulation and packed storage.