variable_len_reader/asynchronous/
write_varint_long_size.rs1macro_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");