1 个稳定版本
1.16.0 | 2023 年 10 月 25 日 |
---|
#14 在 #typenum
3,800 每月下载量
在 23 个 crate 中使用(通过 substrate-fixed)
195KB
5.5K 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 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
根据您自己的选择。
贡献
除非您明确说明,否则任何您有意提交以包含在作品中的贡献,根据Apache-2.0许可证定义,应如上双重许可,不附加任何额外条款或条件。
依赖项
~0–520KB
~11K SLoC