ChaiScript
|
Classes and functions specific to the runtime dispatch side of ChaiScript. More...
Classes | |
class | Assignable_Proxy_Function |
class | Assignable_Proxy_Function_Impl |
class | Attribute_Access |
Attribute getter Proxy_Function implementation. More... | |
class | Bound_Function |
An implementation of Proxy_Function that takes a Proxy_Function and substitutes bound parameters into the parameter list at runtime, when call() is executed. More... | |
class | Dynamic_Object |
class | Dynamic_Proxy_Function |
A Proxy_Function implementation that is not type safe, the called function is expecting a vector<Boxed_Value> that it works with how it chooses. More... | |
class | Dynamic_Proxy_Function_Impl |
struct | option_explicit_set |
class | Param_Types |
struct | Placeholder_Object |
An object used by Bound_Function to represent "_" parameters of a binding. More... | |
class | Proxy_Function_Base |
Pure virtual base class for all Proxy_Function implementations Proxy_Functions are a type erasure of type safe C++ function calls. More... | |
class | Proxy_Function_Callable_Impl |
For any callable object. More... | |
class | Proxy_Function_Impl_Base |
Functions | |
template<typename FunctionType > | |
std::function< FunctionType > | functor (const std::vector< Const_Proxy_Function > &funcs, const Type_Conversions_State *t_conversions) |
Build a function caller that knows how to dispatch on a set of functions example: std::function<void (int)> f = build_function_caller(dispatchkit.get_function("print"));. More... | |
template<typename FunctionType > | |
std::function< FunctionType > | functor (Const_Proxy_Function func, const Type_Conversions_State *t_conversions) |
Build a function caller for a particular Proxy_Function object useful in the case that a function is being pass out from scripting back into code example: void my_function(Proxy_Function f) { std::function<void (int)> local_f = build_function_caller(f); }. More... | |
template<typename FunctionType > | |
std::function< FunctionType > | functor (const Boxed_Value &bv, const Type_Conversions_State *t_conversions) |
Helper for automatically unboxing a Boxed_Value that contains a function object and creating a typesafe C++ function caller from it. More... | |
template<typename FunctionType > | |
std::function< FunctionType > | functor (std::shared_ptr< const Proxy_Function_Base > func, const Type_Conversions_State *t_conversions) |
template<typename Callable , typename... Arg> | |
Proxy_Function | make_dynamic_proxy_function (Callable &&c, Arg &&...a) |
template<typename Funcs > | |
Boxed_Value | dispatch (const Funcs &funcs, const Function_Params &plist, const Type_Conversions_State &t_conversions) |
Take a vector of functions and a vector of parameters. More... | |
Classes and functions specific to the runtime dispatch side of ChaiScript.
Some items may be of use to the end user.
Boxed_Value chaiscript::dispatch::dispatch | ( | const Funcs & | funcs, |
const Function_Params & | plist, | ||
const Type_Conversions_State & | t_conversions | ||
) |
Take a vector of functions and a vector of parameters.
Attempt to execute each function against the set of parameters, in order, until a matching function is found or throw dispatch_error if no matching function is found
std::function<FunctionType> chaiscript::dispatch::functor | ( | const std::vector< Const_Proxy_Function > & | funcs, |
const Type_Conversions_State * | t_conversions | ||
) |
Build a function caller that knows how to dispatch on a set of functions example: std::function<void (int)> f = build_function_caller(dispatchkit.get_function("print"));.
[in] | funcs | the set of functions to dispatch on. |
std::function<FunctionType> chaiscript::dispatch::functor | ( | Const_Proxy_Function | func, |
const Type_Conversions_State * | t_conversions | ||
) |
Build a function caller for a particular Proxy_Function object useful in the case that a function is being pass out from scripting back into code example: void my_function(Proxy_Function f) { std::function<void (int)> local_f = build_function_caller(f); }.
[in] | func | A function to execute. |
std::function<FunctionType> chaiscript::dispatch::functor | ( | const Boxed_Value & | bv, |
const Type_Conversions_State * | t_conversions | ||
) |
Helper for automatically unboxing a Boxed_Value that contains a function object and creating a typesafe C++ function caller from it.