template generateEmptyFunction(C, func...) | |
{ | |
} | |
template isAbstractFunction(T...) | |
if (T.length == 1) | |
{ | |
enum bool isAbstractFunction = __traits(isAbstractFunction, T[0]); | |
} | |
alias BlackHole(Base) = AutoImplement!(Base, generateEmptyFunction, isAbstractFunction); | |
class AutoImplement(Base, alias how, alias what = isAbstractFunction) : Base {} |