【typenum】 1 说明文件(README.md)
Typenum
Typenum 是一个用于在编译时计算类型级数字的 Rust 库。目前支持位、无符号整数和有符号整数。
Typenum 仅依赖 libcore,因此适用于任何平台!
导入方式
虽然 typenum 分为多个模块,但它们都通过 crate 根目录重新导出,因此您可以通过 use typenum::whatever; 导入其中的任何内容,而无需关心 crate 结构。
您还可以将 consts 模块视为预导入模块,进行全局导入。
示例
以下是 typenum 的简单使用示例:
use typenum::{Sum, Exp, Integer, N2, P3, P4};type X = Sum<P3, P4>;
assert_eq!(<X as Integer>::to_i32(), 7);type Y = Exp<N2, P3>;
assert_eq!(<Y as Integer>::to_i32(), -8);
如需查看更复杂的示例,可以参考依赖它的 crate。值得关注的有:
-
dimensioned:为任意单位系统提供编译时类型检查。
-
generic-array:提供可泛化引用长度的数组。
错误信息
Typenum 的错误信息并不友好,解析起来可能比较困难。好消息是 Auxon 的优秀团队开发了一个工具来帮助解决这个问题。
许可证
根据以下任一许可证使用:
-
Apache 许可证 2.0 版(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
-
MIT 许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
您可自行选择。
贡献
除非您明确声明,否则根据 Apache-2.0 许可证的定义,您有意提交的任何贡献均应按上述双重许可证授权,且不附加任何额外条款或条件。