Loki  0.1.7
 All Classes Namespaces Files Functions Variables Typedefs Friends Macros Groups
Visitor

Classes

class  Loki::BaseVisitor
class  Visitor
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); }

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); }

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