Мне интересно, есть ли способ ограничить создание кода для шаблона используя пользовательские условия в моем случае, я хочу, чтобы функция foo вызывалась только в том случае, если класс шаблона T наследуется классом bar (что-то вроде этого)
template <class T:public bar> void foo()
{
// do something
}