macro_rules! radix { ($($path:expr => $data:expr),+ $(,)?) => { ... }; ($($path:expr),+ $(,)?) => { ... }; }
Expand description
Macros to create RadixMap or RadixSet
§Examples
#[macro_use] extern crate radixmap;
let map = radix!{
"/" => "/",
"/api" => "api",
"/api/v1" => "v1",
"/api/v1/user" => "user1",
"/api/v2" => "v2",
"/api/v2/user" => "user2",
};
assert_eq!(map.get(b"/"), Some(&"/"));
assert_eq!(map.get(b"/api"), Some(&"api"));
assert_eq!(map.get(b"/api/v1"), Some(&"v1"));
assert_eq!(map.get(b"/api/v1/user"), Some(&"user1"));
assert_eq!(map.get(b"/api/v2"), Some(&"v2"));
assert_eq!(map.get(b"/api/v2/user"), Some(&"user2"));
assert_eq!(map.get(b"/api/v3"), None);
assert_eq!(map.get(b"/api/v3/user"), None);
let set = radix!{
"/",
"/api",
"/api/v1",
"/api/v1/user",
"/api/v2",
"/api/v2/user",
};
assert_eq!(set.contains(b"/"), true);
assert_eq!(set.contains(b"/api"), true);
assert_eq!(set.contains(b"/api/v1"), true);
assert_eq!(set.contains(b"/api/v1/user"), true);
assert_eq!(set.contains(b"/api/v2"), true);
assert_eq!(set.contains(b"/api/v2/user"), true);
assert_eq!(set.contains(b"/api/v3"), false);
assert_eq!(set.contains(b"/api/v3/user"), false);