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 模式
53KB
1K SLoC
typebitset
Rust 的类型级数字和列表实现。
类型级数字
类型级数字可通过 FromNum<N>
(通过类型)或 from_num::<N>()
(通过值)接口获取,或直接使用 Cons
、Bit0
和 Bit1
构建。
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 支持类型级列表,其中包含类型级数字。类型级列表上实现了某些操作。