4 个版本
0.1.3 | 2021年8月10日 |
---|---|
0.1.2 | 2021年8月10日 |
0.1.1 | 2021年8月9日 |
0.1.0 | 2021年8月9日 |
242 在 无标准库 中
15KB
273 行
字节序类型
endiantype
是一个无标准库、支持字节序感知的原始类型(如 u8
、u16
等)的实现。
所有字节序类型都以透明的方式实现,可以直接用几乎零开销替换原始类型。
用法
将以下内容添加到您的 Cargo.toml 中
endiantype = "0.1.3"
要在 [no_std]
环境中使用,您需要禁用默认功能。
endiantype = { version = "0.1.3", default-features = false}
并从这个crate中导入字节序类型。
use endiantype::types::*;
功能
以下是 endiantype
crate 的一些功能。
[no-std] 支持
此crate可以在不使用 std
支持的情况下使用,无需任何要求或附加功能,因为它只依赖于 core
。
直接替换
此crate为字节序感知类型提供了足够默认操作。
例如,您可以直接将原始类型与字节序感知类型进行比较。
use endiantype::*;
let num_le = u16_le::from_native(10);
assert!(num_le < 11);
其他位运算(如 &
、|
)和算术运算(如 +
、-
)也得到支持。
use endiantype::*;
let a = u32_le::from_native(1);
let b = u32_be::from_native(2);
assert!(a+b == 3);