variable_len_reader/asynchronous/
read_raw_size.rs

1macro_rules! read_raw_size_future {
2    (cp, $primitive: ty, $future: ident, $from: ident) => {
3        read_raw_size_future!(f cfg(feature = "async_raw_size"), cp, $primitive, $future, $from);
4    };
5    (ap, $primitive: ty, $future: ident, $inner_future: ident) => {
6        read_raw_size_future!(f cfg(feature = "async_raw_size"), ap, $primitive, $future, $inner_future);
7    };
8    (f $feature: meta, cp, $primitive: ty, $future: ident, $from: ident) => {
9        read_raw_future!(f $feature, $primitive, $future, $from);
10    };
11    (f $feature: meta, ap, $primitive: ty, $future: ident, $inner_future: ident) => {
12        read_size_ap_future!(f $feature, $primitive, $future, $inner_future);
13    };
14}
15macro_rules! read_raw_size_func {
16    (cp, $primitive: ty, $func: ident, $future: ident) => {
17        read_raw_size_func!(f cfg(feature = "async_raw_size"), cp, $primitive, $func, $future);
18    };
19    (ap, $future: ident, $func: ident, $inner_func: ident) => {
20        read_raw_size_func!(f cfg(feature = "async_raw_size"), ap, $future, $func, $inner_func);
21    };
22    (f $feature: meta, cp, $primitive: ty, $func: ident, $future: ident) => {
23        read_raw_func!(f $feature, $primitive, $func, $future);
24    };
25    (f $feature: meta, ap, $future: ident, $func: ident, $inner_func: ident) => {
26        read_wrap_func!(f $feature, $future, $func, $inner_func);
27    };
28}
29
30macro_rules! define_read_raw_size_future {
31    () => {
32        read_raw_size_future!(cp, usize, ReadUsizeRawLe, from_le_bytes);
33        read_raw_size_future!(cp, usize, ReadUsizeRawBe, from_be_bytes);
34        read_raw_size_future!(cp, isize, ReadIsizeRawLe, from_le_bytes);
35        read_raw_size_future!(cp, isize, ReadIsizeRawBe, from_be_bytes);
36
37        read_raw_size_future!(ap, usize, ReadUsizeRawLeAp, ReadU128RawLe);
38        read_raw_size_future!(ap, usize, ReadUsizeRawBeAp, ReadU128RawBe);
39        read_raw_size_future!(ap, isize, ReadIsizeRawLeAp, ReadI128RawLe);
40        read_raw_size_future!(ap, isize, ReadIsizeRawBeAp, ReadI128RawBe);
41    };
42}
43macro_rules! define_read_raw_size_func {
44    () => {
45        read_raw_size_func!(cp, usize, read_usize_raw_le, ReadUsizeRawLe);
46        read_raw_size_func!(cp, usize, read_usize_raw_be, ReadUsizeRawBe);
47        read_raw_size_func!(cp, isize, read_isize_raw_le, ReadIsizeRawLe);
48        read_raw_size_func!(cp, isize, read_isize_raw_be, ReadIsizeRawBe);
49
50        read_raw_size_func!(ap, ReadUsizeRawLeAp, read_usize_raw_le_ap, read_u128_raw_le);
51        read_raw_size_func!(ap, ReadUsizeRawBeAp, read_usize_raw_be_ap, read_u128_raw_be);
52        read_raw_size_func!(ap, ReadIsizeRawLeAp, read_isize_raw_le_ap, read_i128_raw_le);
53        read_raw_size_func!(ap, ReadIsizeRawBeAp, read_isize_raw_be_ap, read_i128_raw_be);
54    };
55}
56
57define_read_raw_size_future!();
58
59#[cfg(all(feature = "async_raw_size", not(feature = "async_raw")))]
60compile_error!("developer error: please check Cargo.toml");