6 个版本 (破坏性更新)

0.5.1 2022年7月15日
0.5.0 2022年6月3日
0.4.0 2022年5月11日
0.3.0 2022年5月11日
0.1.0 2022年5月1日

#2593 in Rust 模式

MIT 许可证

53KB
1K SLoC

typebitset

Test Status Crate Docs Minimum rustc version

Rust 的类型级数字和列表实现。

类型级数字

类型级数字可通过 FromNum<N>(通过类型)或 from_num::<N>()(通过值)接口获取,或直接使用 ConsBit0Bit1 构建。

let v1: Cons<Bit1, Cons<Bit0, Bit1>> = from_num::<5>();
let v2: Cons<Bit1, Bit1> = from_num::<3>() ;
let v3: Bit1 = v1 & v2;
println!("v3 = {}", &v3);
let v4: FromNum<7> = v1 | v2;
let v5: <<Bit0 as ShiftRaising>::Output as Push<Bit1>>::Output = Default::default();

所有类型级数字都实现了 Value 特性,支持一些在类型、值和 usize 数字之间进行转换的方法。

支持一些类型级数字的操作。

use typebitset::{FromNum, from_num, ShiftRaising, ShiftLowering};
let v1 = from_num::<7>();
let v2: FromNum<3> = v1.shift_raising();
println!("v2 = {}", &v2);

类型级列表

typebitset 支持类型级列表,其中包含类型级数字。类型级列表上实现了某些操作。

无运行时依赖