#traits #collection #heterogeneous #dynamic #object

nightly fusebox

主要是安全且可靠的 trait 对象的追加集合

3 个版本

0.8.3 2023 年 11 月 16 日
0.8.2 2023 年 1 月 24 日
0.6.1 2023 年 1 月 17 日
0.5.0 2023 年 1 月 16 日
0.1.0 2023 年 1 月 16 日

数据结构 中排名 1920

每月下载量 30

自定义许可证

18KB
448 行代码(不含注释)

fusebox crates.io CI 状态

主要是安全且可靠的 trait 对象的追加集合。

为什么?

这避免了额外的间接引用 Vec<Box<dyn Trait>>,这可能对你很重要。我个人在 pcmg 音频合成器中使用它来融合多个滤波器和振荡器。

变更日志

0.8.3

  • 重新分配逻辑中的对齐错误 (#5)

0.8.2

  • 修复重新分配逻辑中的错误 (#4)

0.8.0

  • push_unsafe 已从公共 API 中移除
  • push 不再需要 T: Send,而是根据 Dyn 是否实现 SendSyncFuseBox<Dyn>

0.7.0

  • 通过使用双指针技术提高了迭代性能

0.6.0

  • 性能改进
  • 稳定性修复

0.5.0

  • 使用 Unsize 代替 AsDyn 标记特质,使对 foreign 类型的安全 push 成为可能

0.4.0

  • FuseBox 中移除了 Sz 参数
  • FuseBox 现在支持真正的随机访问

0.3.0

  • 添加了 Size 以将 Sz 限制为有效的无符号整数

0.2.0

  • 添加了 AsDyn 以使安全的 push 成为可能。
  • 修复了在 FuseBox 被丢弃时未丢弃推送的值

0.1.0

初始版本

依赖项

~0.2–13MB
~160K SLoC