1个不稳定版本
0.2.0 | 2023年7月2日 |
---|---|
0.1.3 |
|
0.1.2 |
|
0.1.1 |
|
0.1.0 |
|
#1944 in 数据结构
用于 sketch-2d
18KB
448 行
UnsizedStack
存储未装箱DST对象
当元素不需要重新排序时,提供高效的列表。
注意:
UnsizedStack
依赖于一个未指定的胖指针表示
图示
每个对象都正确填充。
示例
特质对象
use unsized_stack::UnsizedStack;
use std::fmt::Debug;
let mut stack = UnsizedStack::<dyn Debug>::new();
stack.push("str", |item| item as _);
stack.push(1, |item| item as _);
stack.push(28342.2, |item| item as _);
dbg!(stack); // Print stack = ["str", 1, 28342.2]
str
use unsized_stack::UnsizedStack;
use std::fmt::Debug;
let mut stack = UnsizedStack::<str>::new();
stack.push("str", |item| item as _);
stack.push("asdf", |item| item as _);
stack.push("abcd", |item| item as _);
dbg!(stack); // Print stack = ["str", "asdf", "abcd"]
切片
use unsized_stack::UnsizedStack;
use std::fmt::Debug;
let mut stack = UnsizedStack::<[i32]>::new();
stack.push([1, 2], |item| item as _);
stack.push([3, 4], |item| item as _);
stack.push([5, 6], |item| item as _);
dbg!(stack); // Print stack = [[1, 2], [3, 4], [5, 6]]
依赖项
~58KB