#include "lib/visitor-dispatcher.hpp"
template<class TAR, class TOOL>
class lib::visitor::Dispatcher< TAR, TOOL >
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.
- Parameters
-
TAR | the concrete target (subclass) type within the visitable hierarchy |
TOOL | the overall tool family (base class of all concrete tools) |
Definition at line 109 of file visitor-dispatcher.hpp.
|
template<class TOOLImpl > |
void | enrol (TOOLImpl *typeref) |
|
ReturnType | forwardCall (TAR &target, TOOL &tool) |
|
|
typedef TOOL::ReturnType | ReturnType |
|
typedef ReturnType(* | Trampoline) (TAR &, TOOL &) |
|
|
void | accomodate (size_t index) |
|
bool | is_known (size_t id) |
|
Trampoline | storedTrampoline (size_t id) |
|
void | storePtr (size_t id, Trampoline func) |
|
|
template<class TOOLImpl > |
static ReturnType | callTrampoline (TAR &obj, TOOL &tool) |
| generator for Trampoline functions, used to dispatch calls down to the right "treat"-Function on the correct concrete tool implementation class
|
|
static ReturnType | errorHandler (TAR &target, TOOL &tool) |
|
|
std::vector< Trampoline > | table_ |
| VTable for storing the Trampoline pointers.
|
|
The documentation for this class was generated from the following file: