#枚举 #变体 #转换 #封装 #宏推导

enumcapsulate

新类型枚举及其变体的安全转换

4个版本 (2个破坏性更新)

0.3.0 2024年5月24日
0.2.2 2024年5月23日
0.2.0 2024年3月21日
0.1.0 2024年1月22日

Rust模式 中排名第 931

Download history 189/week @ 2024-05-18 49/week @ 2024-05-25 5/week @ 2024-06-01 2/week @ 2024-06-08 1/week @ 2024-06-15 18/week @ 2024-07-13 22/week @ 2024-07-20 61/week @ 2024-07-27

每月下载 101

MPL-2.0 许可证

21KB
82

enumcapsulate

Crates.io Crates.io Crates.io docs.rs

新类型枚举及其变体的安全转换。


特质

enumcapsulate 包导出以下特质

特质 功能
AsVariant AsVariantRefAsVariantMut 的伞形推导宏
AsVariantMut 用于在外部枚举类型和其内部变体类型之间进行廉价的可变到可变的引用转换
AsVariantRef 用于在外部枚举类型和其内部变体类型之间进行廉价的引用到引用的引用转换
Encapsulate AsVariantMutAsVariantRefFromFromVariantIntoVariantIsVariantTryIntoVariantDiscriminantVariantDowncast 的伞形推导宏
FromVariant 用于在外部枚举类型和其内部变体类型之间进行变体到枚举的转换
IntoVariant 用于在外部枚举类型和其内部变体类型之间进行枚举到变体的转换
IsVariant 用于检查枚举内部变体类型的类型
VariantDiscriminant 用于获取枚举变体的判别符
VariantDowncast 利用 AsVariantRefAsVariantMutIntoVariant 的便利伞形特质

推导宏

以及以下相应的推导宏,通过 enumcapsulate::derive::*

  • AsVariant
  • AsVariantMut
  • AsVariantRef
  • Encapsulate
  • From
  • FromVariant
  • IntoVariant
  • IsVariant
  • TryInto
  • VariantDiscriminant

文档

请参阅 docs.rs 上的文档。

贡献

请阅读 CONTRIBUTING.md 了解我们的 行为准则
以及向我们的提交拉取请求的过程。

版本

我们使用SemVer进行版本管理。有关可用的版本,请参阅此存储库的标签

许可证

本项目采用MPL-2.0许可证——有关详细信息,请参阅LICENSE.md文件。

依赖项

~105KB