ChaiScript
Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
chaiscript::dispatch::Bound_Function Class Referencefinal

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>

Inheritance diagram for chaiscript::dispatch::Bound_Function:
Inheritance graph
[legend]
Collaboration diagram for chaiscript::dispatch::Bound_Function:
Collaboration graph
[legend]

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_Functionget_contained_functions () const override
 
std::vector< Boxed_Valuebuild_param_list (const Function_Params &params) const
 
- Public Member Functions inherited from chaiscript::dispatch::Proxy_Function_Base
Boxed_Value operator() (const Function_Params &params, 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 &params, 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_Infobuild_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_Infom_types
 
int m_arity
 
bool m_has_arithmetic_param
 

Detailed Description

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


The documentation for this class was generated from the following file: