macro_rules! btreemapc {
(@__ $acc:ident, $key:expr => $val:expr; for $item:pat in $iter:expr; if $cond:expr) => { ... };
(@__ $acc:ident, $key:expr => $val:expr; for $item:pat in $iter:expr) => { ... };
(@__ $acc:ident, $key:expr => $val:expr; for $item:pat in $iter:expr; if $cond:expr; $($tail:tt)+) => { ... };
(@__ $acc:ident, $key:expr => $val:expr; for $item:pat in $iter:expr; $($tail:tt)+) => { ... };
($key:expr => $val:expr; $($tail:tt)+) => { ... };
}
BTree Map Comprehension
Creates a BTreeMap
from the contents of the comprehension. Same syntax
as hashmapc!{}
.
let array = [5, 3, 9, 6];
let index_map = hashmapc!{x => i; for (i, x) in array.iter().enumerate()};
for (i, x) in array.iter().enumerate() {
assert_eq!(index_map[x], i);
}