GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
chaiscript::dispatch Namespace Reference

Classes and functions specific to the runtime dispatch side of ChaiScript. Some items may be of use to the end user. More...

Namespaces

namespace  detail

Classes

struct  option_explicit_set
class  Dynamic_Object
class  Proxy_Function_Callable_Impl
 For any callable object. More...
class  Assignable_Proxy_Function_Impl
class  Param_Types
class  Proxy_Function_Base
class  Dynamic_Proxy_Function
class  Dynamic_Proxy_Function_Impl
struct  Placeholder_Object
class  Bound_Function
class  Proxy_Function_Impl_Base
class  Assignable_Proxy_Function
class  Attribute_Access
 Attribute getter Proxy_Function implementation. More...

Functions

template<typename FunctionType>
std::function< FunctionType > functor (const std::vector< Const_Proxy_Function > &funcs, const Type_Conversions_State *t_conversions)
template<typename FunctionType>
std::function< FunctionType > functor (Const_Proxy_Function func, const Type_Conversions_State *t_conversions)
template<typename FunctionType>
std::function< FunctionType > functor (const Boxed_Value &bv, const Type_Conversions_State *t_conversions)
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 std::vector< Boxed_Value > &plist, const Type_Conversions_State &t_conversions)

Detailed Description

Classes and functions specific to the runtime dispatch side of ChaiScript. Some items may be of use to the end user.

Function Documentation

◆ dispatch()

template<typename Funcs>
Boxed_Value chaiscript::dispatch::dispatch ( const Funcs & funcs,
const std::vector< Boxed_Value > & 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

Here is the caller graph for this function:

◆ functor() [1/4]

template<typename FunctionType>
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.

◆ functor() [2/4]

template<typename FunctionType>
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"));

Returns
A std::function object for dispatching
Parameters
[in]funcsthe set of functions to dispatch on.
Here is the caller graph for this function:

◆ functor() [3/4]

template<typename FunctionType>
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); }

Returns
A std::function object for dispatching
Parameters
[in]funcA function to execute.

◆ functor() [4/4]

template<typename FunctionType>
std::function< FunctionType > chaiscript::dispatch::functor ( std::shared_ptr< const Proxy_Function_Base > func,
const Type_Conversions_State * t_conversions )

◆ make_dynamic_proxy_function()

template<typename Callable, typename ... Arg>
Proxy_Function chaiscript::dispatch::make_dynamic_proxy_function ( Callable && c,
Arg &&... a )
Here is the caller graph for this function: