#bounded #integer #macro #refinement #proc-macro

bounded-integer-macro

bounded-integer 设计的过程宏。请勿直接使用。

11个版本

0.5.6 2023年3月18日
0.5.3 2022年9月14日
0.5.2 2022年4月1日
0.5.1 2022年1月1日
0.2.0 2020年6月4日

#894 in 过程宏

Download history 48/week @ 2024-03-11 41/week @ 2024-03-18 20/week @ 2024-03-25 77/week @ 2024-04-01 26/week @ 2024-04-08 47/week @ 2024-04-15 35/week @ 2024-04-22 13/week @ 2024-04-29 40/week @ 2024-05-06 41/week @ 2024-05-13 13/week @ 2024-05-20 14/week @ 2024-05-27 42/week @ 2024-06-03 56/week @ 2024-06-10 42/week @ 2024-06-17 94/week @ 2024-06-24

235每月下载量
2 个库中(通过 bounded-integer)使用

ISC 许可证

74KB
1.5K SLoC

有界整数

Crate version docs.rs checks

该库提供了两种类型的有界整数,用于在Rust中。

宏生成的有界整数

bounded_integer! 宏允许你定义自己的有界整数类型,给定它所占据的特定范围。例如

bounded_integer! {
    struct MyInteger { 0..8 }
}
let num = MyInteger::new(5).unwrap();
assert_eq!(num, 5);

此宏支持 structenum。请参阅 examples 模块以获取生成的类型的文档。

基于const泛型的有界整数

你还可以通过使用此库中基于const泛型的类型创建临时的有界整数,例如

let num = <BoundedU8<0, 7>>::new(5).unwrap();
assert_eq!(num, 5);

这些整数使用起来更简洁,因为它们不需要类型声明或显式的名称,并且与其他不同范围的有界整数交互得更好。然而,由于const泛型的限制,它们不实现某些特性,如 Default

no_std

该库中的所有整数仅依赖于libcore,因此可以在 #![no_std] 环境中运行。

库功能

默认情况下,没有启用库功能。

许可证

版权所有 © 2016,Curtis McEnroe [email protected]

本软件的使用、复制、修改和/或分发(无论是否付费)均获得许可,前提是上述版权声明和本许可声明必须包含在所有副本中。

软件按“原样”提供,作者对此软件不提供任何明示或暗示的保证,包括但不限于对其商业性和适用性的保证。在任何情况下,作者均不对因使用或性能问题而导致的任何特殊、直接、间接或后果性损害或任何损害(包括使用、数据或利润的损失)承担责任,不论此类损害是基于合同、疏忽或其他侵权行为,是否因使用或性能而引起。

依赖项

~0.7–1.2MB
~28K SLoC