1 #ifndef CORE_MULTIMETHOD_HH
2 # define CORE_MULTIMETHOD_HH
6 # include <core/assert.hh>
10 template<typename Value
, typename
...Keys
>
14 void addEntry(Value value
, Keys
... keys
);
15 Value
& dispatch(Keys
... keys
);
18 typedef std::tr1::tuple
<Keys
...> key_t
;
19 std::map
<key_t
, Value
> table_
;
23 # include "multimethod.hxx"
25 #endif /* !CORE_MULTIMETHOD_HH */