blob: 1d12403d6adfca4a1a5393051bd9e2f6ca3e48aa [file] [edit]
/// Build a new `VecMap` efficiently.
#[macro_export]
macro_rules! vec_map {
(@single $($x:tt)*) => (());
(@count $($rest:expr),*) => (<[()]>::len(&[$(vec_map!(@single $rest)),*]));
($($key:expr => $value:expr,)+) => { vec_map!($($key => $value),+) };
($($key:expr => $value:expr),*) => {
{
let _cap = vec_map!(@count $($key),*);
let mut _map = ::vec_map::VecMap::with_capacity(_cap);
$(
_map.insert($key, $value);
)*
_map
}
};
}