26 个稳定版本
1.17.0 | 2023 年 9 月 15 日 |
---|---|
1.16.0 | 2022 年 12 月 5 日 |
1.15.0 | 2021 年 12 月 26 日 |
1.14.0 | 2021 年 9 月 1 日 |
0.1.1 | 2015 年 10 月 16 日 |
在 Rust 模式 中排名 46
每月下载量 7,990,196
用于 26,744 个 crate (280 个直接使用)
200KB
6K SLoC
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 的一些优秀人士已经编写了一个工具来帮助解决这个问题。请查看 tnfilt。
许可
以下任一许可下授权:
- Apache许可证版本2.0(《LICENSE-APACHE》或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(《LICENSE-MIT》或http://opensource.org/licenses/MIT)
由您自行选择。
贡献
除非您明确表示,否则任何有意提交以包含在作品中的贡献,如Apache-2.0许可证中定义的,应按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~0–630KB
~13K SLoC