2 个不稳定版本
0.2.0 | 2021年10月31日 |
---|---|
0.1.0 | 2021年6月20日 |
#1580 在 数据结构
20KB
225 行
TransIter -- 传递迭代器和工具
这个小的 Rust 包提供了 TransIter
,一个适合导航递归结构和 DAG 的迭代器。这个迭代器允许多种迭代模式。对于节点实现 Ord
的结构,这个包还提供了一个 TransPrioQueue
。
除了迭代器本身之外,这个包还提供了一些便利特质,用于创建这些迭代器的实例。
示例
use transiter::IntoTransIter;
let names: Vec<_> = String::new()
.trans_iter_with(|s| { let s = s.clone(); ["a", "b", "c"].iter().map(move |c| s.clone() + c)})
.take(10)
.collect();
assert_eq!(names, vec!["", "a", "b", "c", "aa", "ab", "ac", "ba", "bb", "bc"]);
类似包
以下包具有类似功能
- reciter 提供了一个从递归函数创建迭代器的宏。
许可证
本作品遵循 MIT 许可证。有关更多详细信息,请参阅 LICENSE
。