|
GameApi 28
Library used by GameApi Builder tool
|
#include <proxy_functions.hpp>


Public Member Functions | |
| virtual | ~Proxy_Function_Base ()=default |
| Boxed_Value | operator() (const std::vector< Boxed_Value > ¶ms, const chaiscript::Type_Conversions_State &t_conversions) const |
| const std::vector< Type_Info > & | get_param_types () const |
| virtual bool | operator== (const Proxy_Function_Base &) const =0 |
| virtual bool | call_match (const std::vector< Boxed_Value > &vals, const Type_Conversions_State &t_conversions) const =0 |
| virtual bool | is_attribute_function () const |
| bool | has_arithmetic_param () const |
| virtual std::vector< std::shared_ptr< const Proxy_Function_Base > > | get_contained_functions () const |
| bool | filter (const std::vector< Boxed_Value > &vals, const Type_Conversions_State &t_conversions) const |
| int | get_arity () const |
| virtual bool | compare_first_type (const Boxed_Value &bv, const Type_Conversions_State &t_conversions) const |
Static Public Member Functions | |
| static bool | compare_type_to_param (const Type_Info &ti, const Boxed_Value &bv, const Type_Conversions_State &t_conversions) |
Protected Member Functions | |
| virtual Boxed_Value | do_call (const std::vector< Boxed_Value > ¶ms, const Type_Conversions_State &t_conversions) const =0 |
| Proxy_Function_Base (std::vector< Type_Info > t_types, int t_arity) | |
Static Protected Member Functions | |
| static bool | compare_types (const std::vector< Type_Info > &tis, const std::vector< Boxed_Value > &bvs, const Type_Conversions_State &t_conversions) |
Protected Attributes | |
| std::vector< Type_Info > | m_types |
| int | m_arity |
| bool | m_has_arithmetic_param |
Pure virtual base class for all Proxy_Function implementations Proxy_Functions are a type erasure of type safe C++ function calls. At runtime parameter types are expected to be tested against passed in types. Dispatch_Engine only knows how to work with Proxy_Function, no other function classes.
|
virtualdefault |
|
inlineprotected |

|
pure virtual |
Implemented in chaiscript::detail::Dispatch_Function, chaiscript::dispatch::Attribute_Access< T, Class >, chaiscript::dispatch::Bound_Function, chaiscript::dispatch::detail::Dynamic_Object_Constructor, chaiscript::dispatch::detail::Dynamic_Object_Function, chaiscript::dispatch::Dynamic_Proxy_Function, and chaiscript::dispatch::Proxy_Function_Impl_Base.
|
inlinevirtual |
Reimplemented in chaiscript::dispatch::detail::Dynamic_Object_Function.
|
inlinestatic |

|
inlinestaticprotected |

|
protectedpure virtual |
Implemented in chaiscript::detail::Dispatch_Function, chaiscript::dispatch::Assignable_Proxy_Function_Impl< Func >, chaiscript::dispatch::Attribute_Access< T, Class >, chaiscript::dispatch::Bound_Function, chaiscript::dispatch::detail::Dynamic_Object_Constructor, chaiscript::dispatch::detail::Dynamic_Object_Function, chaiscript::dispatch::Dynamic_Proxy_Function_Impl< Callable >, and chaiscript::dispatch::Proxy_Function_Callable_Impl< Func, Callable >.

|
inline |
Return true if the function is a possible match to the passed in values
|
inline |

|
inlinevirtual |
Reimplemented in chaiscript::detail::Dispatch_Function, chaiscript::dispatch::Bound_Function, and chaiscript::dispatch::detail::Dynamic_Object_Function.

|
inline |
Returns a vector containing all of the types of the parameters the function returns/takes if the function is variadic or takes no arguments (arity of 0 or -1), the returned value contains exactly 1 Type_Info object: the return type

|
inline |
|
inlinevirtual |
|
inline |
|
pure virtual |
Implemented in chaiscript::detail::Dispatch_Function, chaiscript::dispatch::Assignable_Proxy_Function_Impl< Func >, chaiscript::dispatch::Attribute_Access< T, Class >, chaiscript::dispatch::Bound_Function, chaiscript::dispatch::detail::Dynamic_Object_Constructor, chaiscript::dispatch::detail::Dynamic_Object_Function, chaiscript::dispatch::Dynamic_Proxy_Function, and chaiscript::dispatch::Proxy_Function_Callable_Impl< Func, Callable >.
|
protected |
|
protected |
|
protected |