variable_len_reader/asynchronous/
write_varint_long_size.rs

1macro_rules! write_varint_long_size_future {
2    (cp, $future: ident, $internal: ty, $inner_future: ident) => {
3        write_varint_long_size_future!(f cfg(feature = "async_varint_long_size"), cp, usize, $future, $internal, $inner_future);
4    };
5    (ap, $future: ident, $inner_future: ident) => {
6        write_varint_long_size_future!(f cfg(feature = "async_varint_long_size"), ap, usize, $future, u128, $inner_future);
7    };
8    (f $feature: meta, cp, $primitive: ty, $future: ident, $internal: ty, $inner_future: ident) => {
9        write_varint_long_future!(f $feature, $primitive, $future, $internal, $inner_future);
10    };
11    (f $feature: meta, ap, $primitive: ty, $future: ident, $internal: ty, $inner_future: ident) => {
12        write_size_ap_future!(f $feature, $primitive, $future, $internal, $inner_future);
13    };
14}
15macro_rules! write_varint_long_size_func {
16    (cp, $future: ident, $func: ident) => {
17        write_varint_long_size_func!(f cfg(feature = "async_varint_long_size"), cp, usize, $future, $func);
18    };
19    (ap, $future: ident, $func: ident) => {
20        write_varint_long_size_func!(f cfg(feature = "async_varint_long_size"), ap, usize, $future, $func);
21    };
22    (f $feature: meta, cp, $primitive: ty, $future: ident, $func: ident) => {
23        write_varint_long_func!(f $feature, $primitive, $future, $func);
24    };
25    (f $feature: meta, ap, $primitive: ty, $future: ident, $func: ident) => {
26        write_wrap_func!(f $feature, $primitive, $future, $func);
27    };
28}
29
30macro_rules! define_write_varint_long_size_future {
31    () => {
32        write_varint_long_size_future!(cp, WriteUsizeVarint2Le, u16, WriteU16RawLe);
33        write_varint_long_size_future!(cp, WriteUsizeVarint2Be, u16, WriteU16RawBe);
34        write_varint_long_size_future!(cp, WriteUsizeVarint4Le, u32, WriteU32RawLe);
35        write_varint_long_size_future!(cp, WriteUsizeVarint4Be, u32, WriteU32RawBe);
36        write_varint_long_size_future!(cp, WriteUsizeVarint8Le, u64, WriteU64RawLe);
37        write_varint_long_size_future!(cp, WriteUsizeVarint8Be, u64, WriteU64RawBe);
38        write_varint_long_size_future!(cp, WriteUsizeVarint16Le, u128, WriteU128RawLe);
39        write_varint_long_size_future!(cp, WriteUsizeVarint16Be, u128, WriteU128RawBe);
40
41        write_varint_long_size_future!(ap, WriteUsizeVarint2LeAp, WriteU128Varint2Le);
42        write_varint_long_size_future!(ap, WriteUsizeVarint2BeAp, WriteU128Varint2Be);
43        write_varint_long_size_future!(ap, WriteUsizeVarint4LeAp, WriteU128Varint4Le);
44        write_varint_long_size_future!(ap, WriteUsizeVarint4BeAp, WriteU128Varint4Be);
45        write_varint_long_size_future!(ap, WriteUsizeVarint8LeAp, WriteU128Varint8Le);
46        write_varint_long_size_future!(ap, WriteUsizeVarint8BeAp, WriteU128Varint8Be);
47        write_varint_long_size_future!(ap, WriteUsizeVarint16LeAp, WriteU128Varint16Le);
48        write_varint_long_size_future!(ap, WriteUsizeVarint16BeAp, WriteU128Varint16Be);
49    };
50}
51macro_rules! define_write_varint_long_size_func {
52    () => {
53        write_varint_long_size_func!(cp, WriteUsizeVarint2Le, write_usize_varint_2_le);
54        write_varint_long_size_func!(cp, WriteUsizeVarint2Be, write_usize_varint_2_be);
55        write_varint_long_size_func!(cp, WriteUsizeVarint4Le, write_usize_varint_4_le);
56        write_varint_long_size_func!(cp, WriteUsizeVarint4Be, write_usize_varint_4_be);
57        write_varint_long_size_func!(cp, WriteUsizeVarint8Le, write_usize_varint_8_le);
58        write_varint_long_size_func!(cp, WriteUsizeVarint8Be, write_usize_varint_8_be);
59        write_varint_long_size_func!(cp, WriteUsizeVarint16Le, write_usize_varint_16_le);
60        write_varint_long_size_func!(cp, WriteUsizeVarint16Be, write_usize_varint_16_be);
61
62        write_varint_long_size_func!(ap, WriteUsizeVarint2LeAp, write_usize_varint_2_le_ap);
63        write_varint_long_size_func!(ap, WriteUsizeVarint2BeAp, write_usize_varint_2_be_ap);
64        write_varint_long_size_func!(ap, WriteUsizeVarint4LeAp, write_usize_varint_4_le_ap);
65        write_varint_long_size_func!(ap, WriteUsizeVarint4BeAp, write_usize_varint_4_be_ap);
66        write_varint_long_size_func!(ap, WriteUsizeVarint8LeAp, write_usize_varint_8_le_ap);
67        write_varint_long_size_func!(ap, WriteUsizeVarint8BeAp, write_usize_varint_8_be_ap);
68        write_varint_long_size_func!(ap, WriteUsizeVarint16LeAp, write_usize_varint_16_le_ap);
69        write_varint_long_size_func!(ap, WriteUsizeVarint16BeAp, write_usize_varint_16_be_ap);
70    };
71}
72
73define_write_varint_long_size_future!();
74
75#[cfg(all(feature = "async_varint_long_size", not(feature = "async_raw"), not(feature = "async_varint_long")))]
76compile_error!("developer error: please check Cargo.toml");