1#[doc(hidden)]
13pub trait NetInt {
14 fn from_be(i: Self) -> Self;
15 fn to_be(&self) -> Self;
16}
17macro_rules! doit {
18 ($($t:ident)*) => ($(impl NetInt for $t {
19 fn from_be(i: Self) -> Self { <$t>::from_be(i) }
20 fn to_be(&self) -> Self { <$t>::to_be(*self) }
21 })*)
22}
23doit! { i8 i16 i32 i64 isize u8 u16 u32 u64 usize }
24
25#[doc(hidden)]
26pub trait One {
27 fn one() -> Self;
28}
29
30macro_rules! one {
31 ($($t:ident)*) => ($(
32 impl One for $t { fn one() -> $t { 1 } }
33 )*)
34}
35
36one! { i8 i16 i32 i64 isize u8 u16 u32 u64 usize }
37
38
39#[doc(hidden)]
40pub trait Zero {
41 fn zero() -> Self;
42}
43
44macro_rules! zero {
45 ($($t:ident)*) => ($(
46 impl Zero for $t { fn zero() -> $t { 0 } }
47 )*)
48}
49
50zero! { i8 i16 i32 i64 isize u8 u16 u32 u64 usize }
51