1 个不稳定版本
| 0.1.0 | 2020 年 11 月 11 日 |
|---|
#2808 in Rust 模式
19KB
469 行
stack-vec - 临时堆栈向量
这个软件包定义了宏 stack![],可以用来在堆栈上创建具有特定编译时大小的类似 Vec<T> 的结构体。
这些结构体永远不会在堆上分配,并且公开了一个类似于 Vec<T> 的 API。
用法
该宏可以使用类似于 vec! 的方式使用,带有可选的类型推断。
let sv = stack![100]; // Implicitly typed. Will cause a type inference error if the compiler cannot find the type of `sv` later.
let sv = stack![usize; 100]; // Explicitly typed, circumvents that error.
要查看类型本身的文档,请查看软件包根目录中预定义的 StackVec 类型之一。
预定义类型
此软件包还定义了 2 的幂直到 4096 的 StackVec 类型。您还可以使用宏创建自己的命名非透明 StackVec 类型。
stack!(pub type S10Elements S10IntoIter 10); // A `StackVec` type with a capacity of 10.
许可证
MIT
lib.rs:
临时堆栈向量
这个软件包定义了宏 stack![],可以用来创建具有特定编译时大小的类似 Vec<T> 的结构体。这些结构体永远不会在堆上分配,并且公开了一个类似于 Vec<T> 的 API。
用法
该宏可以使用类似于 vec! 的方式使用,带有可选的类型推断。
let mut sv = stack![100]; // Implicitly typed.
sv.push(10usize);
let sv = stack![usize; 100]; // Explicitly typed, circumvents that error.
要查看类型本身的文档,请查看软件包根目录中预定义的 StackVec 类型之一。
预定义类型
此软件包还定义了 2 的幂直到 4096 的 StackVec 类型。
您还可以使用宏创建自己的命名非透明 StackVec 类型。
stack!(pub type S10Elements S10IntoIter 10); // A `StackVec` type with a capacity of 10.