BaseKind - GerdHirsch/Cpp-VisitorFrameworkCyclicAcyclic GitHub Wiki

There are two classes declared in namespace BaseKind : Default and Abstract. They are used to select special implementations of visitor base classes in your Repository and can be seen as abstract properties you want your visitors to have.

namespace BaseKind{
class Default;
class Abstract;
}

With BaseKind::Default, a default method for visit(..) is generated which uses the specified DefaultPolicy. This is useful if you want to extend the list of types to be visited without changing all Visitors!

With BaseKind::Abstract, the visit methods will be pure virtual functions:

void visit(Elementtype&) = 0;

and therefore, your Visitor classes will be abstract classes if they don't provide a visit method for all element types in the base class list visits<typelist>.

⚠️ **GitHub.com Fallback** ⚠️