![]() |
Lumiera 0.pre.04~rc.1
»edit your freedom«
|
#include "lib/visitor.hpp"
Marker interface / base class for all "visiting tools".
When applying such a tool to some concrete instance derived from Visitable, a special function treating this concrete subclass will be selected on the concrete visiting tool instance.
Definition at line 98 of file visitor.hpp.
Public Types | |
| using | ReturnType = RET |
| Tool function invocation return type. | |
| using | ToolBase = Tool |
| for templating the Tag and Dispatcher | |
Public Member Functions | |
| virtual | ~Tool () |
| virtual Tag< ToolBase > | getTag ()=0 |
| use RTTI for all visiting tools | |
|
inlinevirtual |
Definition at line 104 of file visitor.hpp.
| using ReturnType = RET |
Tool function invocation return type.
Definition at line 101 of file visitor.hpp.
for templating the Tag and Dispatcher
Definition at line 102 of file visitor.hpp.
|
pure virtual |
use RTTI for all visiting tools
allows discovery of the concrete Tool type when dispatching a visitor call. Can be implemented by inheriting from ToolTag
Inheritance diagram for Tool< RET, ERR >:
Collaboration diagram for Tool< RET, ERR >: