Обновить

Комментарии 3

Я думаю, что можно сделать проще, если использовать boost::function.
Объявляем конвертер:
typedef boost::function<ToType (boost::any)> converter;

И кладём их в мапу:
std::map<std::type_info const*, converter>;
Написал свой вариант codepad.org/9qJTvTi8
Думаю, оное можно реализовать с boost::variant и параметризуемым boost::static_visitor.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации