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