1use crate::{
3 NSTDFloat32, NSTDFloat64, NSTDInt, NSTDInt16, NSTDInt32, NSTDInt64, NSTDInt8, NSTDUInt,
4 NSTDUInt16, NSTDUInt32, NSTDUInt64, NSTDUInt8,
5};
6use nstdapi::nstdapi;
7
8macro_rules! gen_range_struct {
10 (
11 $(#[$meta:meta])*
12 $name: ident, $T: ty
13 ) => {
14 $(#[$meta])*
15 #[nstdapi]
16 #[derive(Clone, Copy)]
17 pub struct $name {
18 pub start: $T,
20 pub end: $T,
22 }
23 };
24}
25gen_range_struct!(
26 NSTDRangeF32,
28 NSTDFloat32
29);
30gen_range_struct!(
31 NSTDRangeF64,
33 NSTDFloat64
34);
35gen_range_struct!(
36 NSTDRange,
38 NSTDInt
39);
40gen_range_struct!(
41 NSTDURange,
43 NSTDUInt
44);
45gen_range_struct!(
46 NSTDRangeI8,
48 NSTDInt8
49);
50gen_range_struct!(
51 NSTDRangeU8,
53 NSTDUInt8
54);
55gen_range_struct!(
56 NSTDRangeI16,
58 NSTDInt16
59);
60gen_range_struct!(
61 NSTDRangeU16,
63 NSTDUInt16
64);
65gen_range_struct!(
66 NSTDRangeI32,
68 NSTDInt32
69);
70gen_range_struct!(
71 NSTDRangeU32,
73 NSTDUInt32
74);
75gen_range_struct!(
76 NSTDRangeI64,
78 NSTDInt64
79);
80gen_range_struct!(
81 NSTDRangeU64,
83 NSTDUInt64
84);