#[macro_export]
macro_rules! set {
( $( $x:expr ),* ) => {
{
let mut temp_vec = ::std::collections::HashSet::new();
$(
temp_vec.insert($x);
)*
temp_vec
}
};
}
#[macro_export]
macro_rules! hashmap {
( $( $x:expr => $y:expr ),* ) => {
{
let mut hm = ::std::collections::HashMap::new();
$(
hm.insert($x, $y);
)*
hm
}
};
}
#[macro_export]
macro_rules! record {
( $cb:expr, $umi:expr, $ec:expr, $count:expr, $flag:expr ) => {{
let temp_vec =
$crate::io::BusRecord { CB: $cb, UMI: $umi, EC: $ec, COUNT: $count, FLAG: $flag };
temp_vec
}};
}
#[test]
fn test_ma() {
let r = record!(10, 12, 4, 3, 1);
println!("{r:?}");
let hm = hashmap!(
1 => 2,
3 => 7,
0 => 1
);
println!("{hm:?}");
let s = set!(1, 2, 3, 4);
println!("{s:?}");
}