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}