Lumiera  0.pre.03
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
lib::visitor Namespace Reference




singleton  Applicable
 Marker template to declare that some "visiting tool" wants to treat a set of concrete Visitable classes. More...
class  Applicable< TOOLImpl, typelist::Node< TAR, TYPES >, BASE >
class  Applicable< TOOLImpl, typelist::NullType, BASE >
class  Dispatcher
 For each possible call entry point via some subclass of the visitable hierarchy, we maintain a dispatcher table to keep track of all concrete tool implementations able to receive and process calls on objects of this subclass. More...
class  Tag
 Type tag for concrete visiting tool classes. More...
struct  TagTypeRegistry
struct  ThrowException
 Policy to throw when encountering an unknown visiting tool. More...
class  Tool
 Marker interface / base class for all "visiting tools". More...
struct  UseDefault
 Policy returning just the default return value in case of encountering an unknown Visitor (typically caused by adding a new class to the visitable hierarchy) More...
class  Visitable
 Marker interface or base class for all "Visitables". More...