2 个不稳定版本
0.2.0 | 2019年7月20日 |
---|---|
0.1.0 | 2019年6月29日 |
#1975 在 数据结构
28KB
553 行
Treelike
此 crate 尝试为所有类型的树提供一种通用的特性。有两个原因
互操作性
使用通用特性允许第三方无缝切换树实现。它还允许在树上构建进一步的抽象。
自动化
如果您正在实现树,Treelike
只要求您在您的节点上实现两个方法,content
用于返回其内容,以及 children
用于列出其子节点。
然后免费提供许多遍历和搜索方法。我发现自己不断地在不同的树上实现相同的方法,因此这是我的主要动机。
no_std
此 crate 尝试保持与 no_std 兼容,但如果可用分配,则提供更多功能。相关的类型和方法包含一个 no_std 部分,用于讨论功能和限制。
贡献
请将钩子符号链接到您的本地 .git/hooks/ 目录,以便在提交之前运行一些自动检查。
ln -s ../../hooks/pre-commit .git/hooks/
请安装 rustfmt 和 cargo-sync-readme,以便运行这些检查。
rustup component add rustfmt
cargo install cargo-sync-readme
当您更改顶级文档时,请执行 cargo-sync-readme
。每次更改代码时,请运行 cargo fmt
。如果可能,请配置您的编辑器为您执行此操作。