Loki  0.1.7
Visitor

Classes

class  Loki::BaseVisitor
 
class  Loki::Visitor< T, R, ConstVisit >
 
class  Loki::CyclicVisitor< R, TList >
 

Macros

#define LOKI_DEFINE_VISITABLE()
 
#define LOKI_DEFINE_CONST_VISITABLE()
 
#define LOKI_DEFINE_CYCLIC_VISITABLE(SomeVisitor)
 

Detailed Description

Macro Definition Documentation

#define LOKI_DEFINE_CONST_VISITABLE ( )
Value:
virtual ReturnType Accept(::Loki::BaseVisitor& guest) const \
{ return AcceptImpl(*this, guest); }
Definition: Visitor.h:36

Put it in every class that you want to make visitable by const member functions (in addition to deriving it from BaseVisitable<R>)

#define LOKI_DEFINE_CYCLIC_VISITABLE (   SomeVisitor)
Value:
virtual SomeVisitor::ReturnType Accept(SomeVisitor& guest) \
{ return guest.GenericVisit(*this); }

Put it in every class that you want to make visitable by a cyclic visitor

#define LOKI_DEFINE_VISITABLE ( )
Value:
virtual ReturnType Accept(::Loki::BaseVisitor& guest) \
{ return AcceptImpl(*this, guest); }
Definition: Visitor.h:36

Put it in every class that you want to make visitable (in addition to deriving it from BaseVisitable<R>)