3个版本
0.1.2 | 2024年6月29日 |
---|---|
0.1.1 | 2024年6月29日 |
0.1.0 | 2024年6月27日 |
301 在 内存管理 中
每月 31 次下载
用于 ecs-tiny
7KB
71 行
stack-any
一个提供类型擦除的栈上拥有相同大小类型的库。
使用方法
let mut stacks = [
stack_any::stack_any!(Vec<i32>, vec![]),
stack_any::stack_any!(Vec<char>, vec![]),
];
stacks[0].downcast_mut::<Vec<i32>>().unwrap().push(5);
stacks[1].downcast_mut::<Vec<char>>().unwrap().push('x');
assert_eq!(stacks[0].downcast_ref(), Some(&vec![5]));
assert_eq!(stacks[1].downcast_ref(), Some(&vec!['x']));
lib.rs
:
stack-any
一个提供类型擦除的栈上拥有相同大小类型的库。
使用方法
let mut stacks = [
stack_any::stack_any!(Vec<i32>, vec![]),
stack_any::stack_any!(Vec<char>, vec![]),
];
stacks[0].downcast_mut::<Vec<i32>>().unwrap().push(5);
stacks[1].downcast_mut::<Vec<char>>().unwrap().push('x');
assert_eq!(stacks[0].downcast_ref(), Some(&vec![5]));
assert_eq!(stacks[1].downcast_ref(), Some(&vec!['x']));