#iterator #recursion #structures #suitable #dag #node #navigating

transiter

一个适合导航递归结构和 DAG 的迭代器

2 个不稳定版本

0.2.0 2021年10月31日
0.1.0 2021年6月20日

#1580数据结构

MIT 许可证

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

无运行时依赖