6 个版本 (3 个重大更新)
0.4.0 | 2020年3月24日 |
---|---|
0.3.0 | 2019年4月24日 |
0.2.1 | 2019年4月24日 |
0.2.0 | 2018年12月16日 |
0.1.0 | 2018年11月6日 |
在 Rust 模式 中排名 #1466
26KB
590 行
dynstack
用于 trait 对象的堆栈,最小化分配
兼容性说明: dynstack
依赖于未充分指定的胖指针表示形式。虽然预计在未来可预见的时期内不会改变,但此 crate 期望 Rust 1.34 的表示形式。
用法
dynstack
可以在很大程度上替换任何使用堆栈或不需要从其中心删除的向量的地方。
let mut stack = DynStack::<dyn Debug>::new();
dyn_push!(stack, "hello, world!");
dyn_push!(stack, 0usize);
dyn_push!(stack, [1, 2, 3, 4, 5, 6]);
for item in stack.iter() {
println!("{:?}", item);
}
// prints:
// "hello, world!"
// 0
// [1, 2, 3, 4, 5, 6]
lib.rs
:
dynstack
可以在很大程度上替换任何使用堆栈或不需要从其中心删除的向量的地方。
let mut stack = DynStack::<dyn Debug>::new();
dyn_push!(stack, "hello, world!");
dyn_push!(stack, 0usize);
dyn_push!(stack, [1, 2, 3, 4, 5, 6]);
for item in stack.iter() {
println!("{:?}", item);
}
// prints:
// "hello, world!"
// 0
// [1, 2, 3, 4, 5, 6]