1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
pub mod traits;
#[cfg(feature = "derive")]
extern crate smart_hash_derive;
#[cfg(feature = "derive")]
pub use smart_hash_derive::SmartHash as SmartHash;
#[macro_export]
macro_rules! get_matching {
($obj:ident,$($key:ident,$val:expr),+) => ({
let mut empty_opt = $obj.get_none_default();
$(empty_opt.$key = Some($val);)*
$obj.get_matching(empty_opt)
});
($obj:ident,$($key:ident == $val:expr),+) => ({
get_matching!($obj,$($key,$val),+)
});
($obj:ident where $($key:ident is $val:expr),+) => ({
get_matching!($obj,$($key,$val),+)
});
}