специализция функции для указателей на всех наследников класса
От: x-code  
Дата: 27.07.15 21:29
Оценка:
Есть базовый класс Base.
У него есть большая иерархия наследников Derived1, Derived2, ...
Как сделать перегрузку/специализацию(?) шаблонной функции, которая бы вызывалась для всех указателей на объекты-наследники этого базового класса?
Можно использовать буст.

template<class T>
void visit(tree_node *node, T& val, char const* id, // всякие аргументы
typename std::enable_if< /* что здесь написать? */ >::type* = 0) // вот тут 
{}

т.е. эта версия функии должна вызываться для типов T == Base*, Derived1*, Derived2* etc.
при этом есть другие версии, в том числе более общие.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.