3 个版本

0.0.3 2023 年 8 月 28 日
0.0.2 2023 年 8 月 28 日
0.0.1 2023 年 8 月 28 日

#1870数据结构

MIT 许可证

6KB
74

reservoir-buf

Rust 中的极简单实习

注意:这是一个非常早期的项目,目前我主要在个人项目中使用

概述

在Rust中完成了几个从头开始的编译器项目后,我发现自己在几个不同的地方反复编写几乎相同的代码。其中之一就是实习:我发现将“将所有内容存储在中央缓冲区并传递对其的索引”的方法是表示高度互连的数据结构(如控制流图)的好方法。而不是再次为第n次编写相同的内容,我想把它放在一个独立的包中,我可以在任何地方使用它(嘿,也许其他人也有类似的需求)。

我草拟的快速原型几乎达到了我在那些项目中使用的相同复杂程度(并且类型安全性更高):在大的 Vec 中顺序存储所有内容,并传递对该缓冲区的索引,然后可以使用这些索引与实际数据交互。这基本上是一种超级简化的实习形式(主要缺少去重,但可能更多),也与一个竞技场分配器有几分相似。但它做到了它承诺的事情,至少对我做到了。

在不久的将来,我将在自己的项目中使用这个疑虑重重的包版本,以便我可以对其进行改进,使其更适合更广泛的消费。随着时间的推移,我也希望将其改进到更通用的数据结构,以便在更复杂的项目、编译器和其他项目中使用。

无运行时依赖项