libvata2  [unstable] git snapshot
Namespaces | Typedefs | Functions
vm-dispatch.hh File Reference
#include <vata2/vm.hh>

Go to the source code of this file.

Namespaces

 Vata2
 
 Vata2::VM
 

Typedefs

using VMFuncName = std::string
 Data type for function names. More...
 
using VMFuncArgs = std::vector< VMValue >
 Data type for function arguments. More...
 
using VMDispatcherFunc = std::function< VMValue(const VMFuncName &, const VMFuncArgs &)>
 Data type for dispatcher function pointer. More...
 

Functions

void reg_dispatcher (const std::string &type_name, const VMDispatcherFunc &func)
 registers a dispatcher function for a VATA data type More...
 
const VMDispatcherFunc & find_dispatcher (const std::string &type_name)
 finds the dispatcher function for a given type More...
 
VMValue call_dispatch_with_self (const VMValue &val, const VMFuncName &func_name)
 calls a dispatcher function for the given value with it as the only argument More...
 
VMValue default_dispatch (const VMFuncName &func_name, const VMFuncArgs &func_args)
 Default dispatcher function. More...