If I have a template as such:
template <typename ... TYPES>
class Visitor {
public:
//virtual void visit(...) {}
};
Is there a way I can have C++ generate virtual methods "for each" type in the list?
For example, conceptually, I would like
class A;
class B;
class C;
class MyVisitor : public Visitor<A,B,C>;
To have the following virtual methods
virtual void visit(const A&) {}
virtual void visit(const B&) {}
virtual void visit(const C&) {}