18 #ifndef EQFABRIC_CONFIGVISITOR_H
19 #define EQFABRIC_CONFIGVISITOR_H
21 #include <eq/fabric/types.h>
23 #include <eq/fabric/leafVisitor.h>
24 #include <eq/fabric/elementVisitor.h>
27 # pragma clang diagnostic push
28 # pragma clang diagnostic ignored "-Woverloaded-virtual"
35 template<
class C,
class OV,
class LV,
class CV,
class NV >
36 class ConfigVisitor :
public OV,
public LV,
public CV,
public NV
47 {
return visitPre( static_cast< const C* >( config )); }
51 {
return visitPost( static_cast< const C* >( config )); }
55 {
return TRAVERSE_CONTINUE; }
59 {
return TRAVERSE_CONTINUE; }
64 # pragma clang diagnostic pop
65 #endif // EQFABRIC_CONFIGVISITOR_H
virtual VisitorResult visitPre(const C *)
Visit a config on the down traversal.
virtual ~ConfigVisitor()
Destruct this config visitor.
virtual VisitorResult visitPre(C *config)
Visit a config on the down traversal.
ConfigVisitor()
Construct a new config visitor.
virtual VisitorResult visitPost(const C *)
Visit a config on the up traversal.
virtual VisitorResult visitPost(C *config)
Visit a config on the up traversal.
fabric::ConfigVisitor< Config, ObserverVisitor, LayoutVisitor, CanvasVisitor, NodeVisitor > ConfigVisitor
A visitor to traverse configs and children.