tinyvec_macros/
lib.rs

1#![no_std]
2
3#[macro_export]
4macro_rules! impl_mirrored {
5    {
6    type Mirror = $tinyname:ident;
7    $(
8        $(#[$attr:meta])*
9        $v:vis fn $fname:ident ($seif:ident : $seifty:ty $(,$argname:ident : $argtype:ty)*) $(-> $ret:ty)? ;
10    )*
11    } => {
12        $(
13        $(#[$attr])*
14        #[inline(always)]
15        $v fn $fname($seif : $seifty, $($argname: $argtype),*) $(-> $ret)? {
16            match $seif {
17                $tinyname::Inline(i) => i.$fname($($argname),*),
18                $tinyname::Heap(h) => h.$fname($($argname),*),
19            }
20        }
21        )*
22    };
23}
24