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>.