radix-tree
A radix tree implementation for router, path search.
Features
- Supports many types. Like
char
,u8
u32
etc.
Usage
use ;
let mut tree = new;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
tree.insert;
let node = tree.find;
assert_eq!;
assert_eq!;
let node = tree.find;
assert_eq!;
Tree:
`-(a) [l] --> [li] []=false
`l-(i) [gator] --> [] []=true
`ien-() [] --> [] []=true
`-(b) [a] --> [l] []=true
`loon-() [] --> [] []=true
`-(c) [hromodynamic] --> [] []=true
`-(r) [] --> [ou] []=false
`om-(a) [n] --> [eu] []=false
`e-() [] --> [] []=true
`us-() [] --> [] []=true
`om-(u) [lus] --> [] []=true
`ub-(e) [] --> [nr] []=false
`ns-() [] --> [] []=true
`r-() [] --> [] []=true
`ub-(i) [c] --> [ou] []=false
`on-() [] --> [] []=true
`undus-() [] --> [] []=true
Examples
let node = new;
assert_eq!;
assert_eq!;
let node = new;
assert_eq!;
assert_eq!;
let node = new;
assert_eq!;
assert_eq!;
let node = new;
assert_eq!;
assert_eq!;
let node = new;
assert_eq!;
assert_eq!;
let node = new;
assert_eq!;
assert_eq!;
let node = new;
assert_eq!;
assert_eq!;
Acknowledgements
It is inspired by the:
- rax
- httprouter
- echo router
- trekjs router
License
This project is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.