dispatch/
dispatch.rs

1use dispatchtable::{DispatchTable, Dispatch};
2
3fn add(params: &(isize, isize)) -> isize {
4    params.0 + params.1
5}
6
7fn sub(params: &(isize, isize)) -> isize {
8    params.0 + params.1
9}
10
11
12fn main() {
13    let mut table = DispatchTable::new();
14    table.insert("add", Box::new(add));
15    table.insert("sub", Box::new(sub));
16
17    assert_eq!(table.call(&"add", &(1, 2)), Some(3));
18    assert_eq!(table.call(&"sub", &(5, 2)), Some(3));
19}