6 个版本
0.3.0 | 2021 年 2 月 15 日 |
---|---|
0.2.2 | 2021 年 2 月 11 日 |
0.1.1 | 2021 年 2 月 2 日 |
0.1.0 | 2021 年 1 月 28 日 |
#1144 在 开发工具 中
每月 73 次下载
在 poker 中使用
13KB
109 行
VarIter
variter
是一个 Rust 包,它导出了一些用于遍历没有字段且可以有零个或多个变体的 enum
类型的简单工具。
use variter::{VarIter, derive_var_iter};
derive_var_iter! {
#[derive(Debug)]
enum Greeting {
Hello,
Hola,
Bonjour,
}
}
fn main() {
for greeting in Greeting::ALL_VARIANTS {
println!("{:?}", greeting);
}
}
如果你熟悉 Swift 语言,它类似于使用编译器合成的 CaseIterable
协议符合。
有关更多信息,请参阅 模块文档!
用法
在您的 Cargo.toml
文件中将 variter
添加为依赖项
[dependencies]
# ...
variter = "0.2"
特性
foreign_impls
(默认):包括在稳定的core
类型上实现VarIter
。std
(默认):如果已启用foreign_impls
,则包括对稳定std
类型的VarIter
实现。
no_std
支持
考虑到该包的简单性,可以通过您的 Cargo.toml
依赖项表中的 default-features = false
标志切换 no_std
支持。
[dependencies]
# ...
variter = { version = "0.2", default-features = false }
许可
根据您的选择,许可协议为以下之一
- Apache 许可证 2.0(《LICENSE-APACHE》或 https://apache.ac.cn/licenses/LICENSE-2.0》)
- MIT 许可(《LICENSE-MIT》或 http://opensource.org/licenses/MIT”)
。
贡献
除非您明确表示,否则根据 Apache-2.0 许可证定义的,您有意提交的任何贡献,都应按上述方式双许可,无需附加条款或条件。