Feel++
0.91.4
|
#include <boost/mpl/assert.hpp>
#include <boost/mpl/list.hpp>
#include <boost/mpl/front.hpp>
#include <boost/mpl/pop_front.hpp>
#include <feel/feelcore/feel.hpp>
Classes | |
class | Feel::VisitorBase |
The base class of any Acyclic Visitor. More... | |
class | Feel::Visitor< T, R > |
class | Feel::VisitorList< TList, R > |
class | Feel::VisitorBaseImpl< mpl::list< Head, Tail >, R > |
class | Feel::VisitorBaseImpl< mpl::list< Head >, R > |
class | Feel::VisitableCatchAllDefault< R, Visited > |
class | Feel::VisitableBase< R, CatchAll > |
class | Feel::VisitorCyclic< R, TList > |
Namespaces | |
namespace | Feel |
Defines | |
#define | FEELPP_DEFINE_VISITABLE() |
#define | FEELPP__DEFINE_CYCLIC_VISITABLE(SomeVisitor) |
#define FEELPP__DEFINE_CYCLIC_VISITABLE | ( | SomeVisitor | ) |
virtual SomeVisitor::return_type Accept(SomeVisitor& guest) \ { \ return guest.genericVisit(*this); \ } \ virtual SomeVisitor::return_type Accept(SomeVisitor* guest) \ { \ return guest->genericVisit(*this); \ }
#define FEELPP_DEFINE_VISITABLE | ( | ) |
virtual return_type accept( VisitorBase& guest ) \ { \ return this->acceptImpl( this, &guest ); \ } \ virtual return_type accept( VisitorBase* guest ) \ { \ return this->acceptImpl( this, guest ); \ }
Put it in every class that you want to make visitable (in addition to deriving it from VisitableBase<R>