|
NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
|
端序转换工具结构体 更多...
#include <endian.hpp>
静态 Public 成员函数 | |
| static NEFORCE_NODISCARD NEFORCE_CONST_FUNCTION NEFORCE_ALWAYS_INLINE bool | is_little_endian_runtime () noexcept |
| 运行时检测是否为小端序 | |
| static constexpr uint16_t | byteswap16 (uint16_t value) noexcept |
| 16位整数字节序反转 | |
| static constexpr uint32_t | byteswap32 (uint32_t value) noexcept |
| 32位整数字节序反转 | |
| static constexpr uint64_t | byteswap64 (uint64_t value) noexcept |
| 64位整数字节序反转 | |
| template<typename T> | |
| static constexpr T | host_to_network (T value) noexcept |
| 主机序转网络序 | |
| template<typename T> | |
| static constexpr T | network_to_host (T value) noexcept |
| 网络序转主机序 | |
| template<typename T> | |
| static constexpr T | host_to_le (T value) noexcept |
| 主机序转小端序 | |
| template<typename T> | |
| static constexpr T | le_to_host (T value) noexcept |
| 小端序转主机序 | |
| template<typename T> | |
| static constexpr T | host_to_be (T value) noexcept |
| 主机序转大端序 | |
| template<typename T> | |
| static constexpr T | be_to_host (T value) noexcept |
| 大端序转主机序 | |
| template<typename T> | |
| static constexpr T | swap_endian (T value) noexcept |
| 字节序反转(不区分端序) | |
| static constexpr uint16_t | read_le16 (const byte_t *data) noexcept |
| 读取16位小端整数 | |
| static constexpr uint32_t | read_le32 (const byte_t *data) noexcept |
| 读取32位小端整数 | |
| static constexpr uint64_t | read_le64 (const byte_t *data) noexcept |
| 读取64位小端整数 | |
| static constexpr uint16_t | read_be16 (const byte_t *data) noexcept |
| 读取16位大端整数 | |
| static constexpr uint32_t | read_be32 (const byte_t *data) noexcept |
| 读取32位大端整数 | |
| static constexpr uint64_t | read_be64 (const byte_t *data) noexcept |
| 读取64位大端整数 | |
| static constexpr void | write_le16 (byte_t *dest, uint16_t value) noexcept |
| 写入16位小端整数 | |
| static constexpr void | write_le32 (byte_t *dest, uint32_t value) noexcept |
| 写入32位小端整数 | |
| static constexpr void | write_le64 (byte_t *dest, uint64_t value) noexcept |
| 写入64位小端整数 | |
| static constexpr void | write_be16 (byte_t *dest, uint16_t value) noexcept |
| 写入16位大端整数 | |
| static constexpr void | write_be32 (byte_t *dest, uint32_t value) noexcept |
| 写入32位大端整数 | |
| static constexpr void | write_be64 (byte_t *dest, uint64_t value) noexcept |
| 写入64位大端整数 | |
静态 Public 属性 | |
| static constexpr bool | is_little_endian |
| 编译时检测是否为小端序 | |
| static constexpr bool | is_big_endian = !is_little_endian |
| 编译时检测是否为大端序 | |
|
inlinestaticconstexprnoexcept |
大端序转主机序
| T | 整数类型 |
| value | 大端序的值 |
大端序转主机序与主机序转大端序相同(对称操作)。
在文件 endian.hpp 第 216 行定义.
引用了 host_to_be() , 以及 is_integral_v.
|
inlinestaticconstexprnoexcept |
主机序转大端序
| T | 整数类型 |
| value | 主机序的值 |
大端序系统直接返回,小端序系统执行字节序反转。
在文件 endian.hpp 第 202 行定义.
引用了 is_integral_v.
被这些函数引用 be_to_host().
|
inlinestaticconstexprnoexcept |
主机序转小端序
| T | 整数类型 |
| value | 主机序的值 |
小端序系统直接返回,大端序系统执行字节序反转。
在文件 endian.hpp 第 174 行定义.
引用了 is_integral_v.
被这些函数引用 le_to_host().
|
inlinestaticconstexprnoexcept |
主机序转网络序
| T | 整数类型(支持2、4、8字节) |
| value | 主机序的值 |
网络字节序为大端序。 大端序系统直接返回,小端序系统执行字节序反转。
在文件 endian.hpp 第 146 行定义.
引用了 is_integral_v.
被这些函数引用 network_to_host().
|
inlinestaticconstexprnoexcept |
小端序转主机序
| T | 整数类型 |
| value | 小端序的值 |
小端序转主机序与主机序转小端序相同(对称操作)。
在文件 endian.hpp 第 188 行定义.
引用了 host_to_le() , 以及 is_integral_v.
|
inlinestaticconstexprnoexcept |
网络序转主机序
| T | 整数类型 |
| value | 网络序的值 |
网络序转主机序与主机序转网络序相同(对称操作)。
在文件 endian.hpp 第 160 行定义.
引用了 host_to_network() , 以及 is_integral_v.
|
inlinestaticconstexprnoexcept |
字节序反转(不区分端序)
| T | 整数类型 |
| value | 输入值 |
强制反转字节序,不关心当前平台字节序。
在文件 endian.hpp 第 230 行定义.
引用了 is_integral_v.