Шаблон интерфейса выглядит так:
interface TemplateInterface(T) {
T x();
}
Этот интерфейс необходимо использовать в качестве параметра для функции, но я бы хотел избежать определения типа шаблона в сигнатуре функции. Есть ли какой-то способ, чтобы сигнатура функции принимала любой тип шаблона, передаваемый в функцию, например шаблонную функцию?
Например:
// no good, do not want to constrain template type at this point
void func1(TemplateInterface!int parm1) {...
// this would be better, but the syntax is wrong apparently
void func1(TemplateInterface parm1) {...