меня есть кучка классов, у которых реализован интерфейс с методами:
1) string name();
2) bool func();
и я хочу написать что-то такое:
obj = VariantClass<T0, T1, ..., TN>();
obj.invoke();
и я хочу чтобы в invoke выполнился код такого вида
if (T0().func()) {
return T0().name();
} else if (T1().func()) {
return T1().name();
} else if
.
.
,
} else if(TN().func()) {
return TN.name();
}
то есть я в шаблон передаю какое-то неопределенное кол-во классов, у которых есть функции name, func, и мне возвращается первый name, у которого func вернул true.
ни у кого нет идей, как это может быть сделано?
цепочку наследования можно построить
Обсуждают сегодня