#traits #typemap #fixed #iteration #allocate #inline #type

fixed_typemap

一种可以以零开销在行内分配类型并允许通过特性进行迭代的类型映射

1 个不稳定版本

0.1.0 2021 年 12 月 26 日

#16 in #allocate

无许可证

29KB
362

fixed_typemap

GitHub Actions docs.rs GitHub Sponsors

实现了使用过程宏支持的许多额外功能的类型映射。docs.rs 中比这个 README 更多的内容,包括迷你教程和示例。你可以用它来

  • 实现不进行分配的固定类型映射,并将所有成员以默认值行内初始化。
  • 用于实现类似于特性中字段的提案,你可以使用类型“命名”字段。
  • 生成迭代辅助工具,可以迭代任何数量特性的类型映射作为特性对象(例如,这可以替换 HashMap<TypeId, Box<dyn MyTrait>>,同时带来其余的功能,并允许你同时进行尽可能多的特性)。
  • 添加一个可选的动态部分,它使用 HashMap 来存储任何类型。

no_std 支持 WIP 在于它基本上已经完成,但我不知道如何可靠地完成它。这样做不应该很难,我非常欢迎贡献者完成它并提供 CI 配置。

依赖关系

~2MB
~43K SLoC