ChaiScript
|
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...
#include <proxy_functions.hpp>
Public Member Functions | |
Bound_Function (const Const_Proxy_Function &t_f, const std::vector< Boxed_Value > &t_args) | |
bool | operator== (const Proxy_Function_Base &t_f) const noexcept override |
bool | call_match (const Function_Params &vals, const Type_Conversions_State &t_conversions) const override |
std::vector< Const_Proxy_Function > | get_contained_functions () const override |
std::vector< Boxed_Value > | build_param_list (const Function_Params ¶ms) const |
Public Member Functions inherited from chaiscript::dispatch::Proxy_Function_Base | |
Boxed_Value | operator() (const Function_Params ¶ms, const chaiscript::Type_Conversions_State &t_conversions) const |
const std::vector< Type_Info > & | get_param_types () const noexcept |
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. More... | |
virtual bool | is_attribute_function () const noexcept |
bool | has_arithmetic_param () const noexcept |
bool | filter (const Function_Params &vals, const Type_Conversions_State &t_conversions) const noexcept |
Return true if the function is a possible match to the passed in values. | |
int | get_arity () const noexcept |
virtual bool | compare_first_type (const Boxed_Value &bv, const Type_Conversions_State &t_conversions) const noexcept |
Protected Member Functions | |
Boxed_Value | do_call (const Function_Params ¶ms, const Type_Conversions_State &t_conversions) const override |
Protected Member Functions inherited from chaiscript::dispatch::Proxy_Function_Base | |
Proxy_Function_Base (std::vector< Type_Info > t_types, int t_arity) | |
Static Protected Member Functions | |
static std::vector< Type_Info > | build_param_type_info (const Const_Proxy_Function &t_f, const std::vector< Boxed_Value > &t_args) |
Static Protected Member Functions inherited from chaiscript::dispatch::Proxy_Function_Base | |
static bool | compare_types (const std::vector< Type_Info > &tis, const Function_Params &bvs, const Type_Conversions_State &t_conversions) noexcept |
Additional Inherited Members | |
Static Public Member Functions inherited from chaiscript::dispatch::Proxy_Function_Base | |
static bool | compare_type_to_param (const Type_Info &ti, const Boxed_Value &bv, const Type_Conversions_State &t_conversions) noexcept |
Protected Attributes inherited from chaiscript::dispatch::Proxy_Function_Base | |
std::vector< Type_Info > | m_types |
int | m_arity |
bool | m_has_arithmetic_param |
An implementation of Proxy_Function that takes a Proxy_Function and substitutes bound parameters into the parameter list at runtime, when call() is executed.
it is used for bind(function, param1, _, param2) style calls