GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
proxy_functions.hpp File Reference
#include <cassert>
#include <functional>
#include <memory>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <vector>
#include <iterator>
#include "../chaiscript_defines.hpp"
#include "boxed_cast.hpp"
#include "boxed_value.hpp"
#include "proxy_functions_detail.hpp"
#include "type_info.hpp"
#include "dynamic_object.hpp"
Include dependency graph for proxy_functions.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  chaiscript::dispatch::Param_Types
class  chaiscript::dispatch::Proxy_Function_Base
class  chaiscript::exception::guard_error
 Exception thrown if a function's guard fails. More...
class  chaiscript::dispatch::Dynamic_Proxy_Function
class  chaiscript::dispatch::Dynamic_Proxy_Function_Impl< Callable >
struct  chaiscript::dispatch::Placeholder_Object
class  chaiscript::dispatch::Bound_Function
class  chaiscript::dispatch::Proxy_Function_Impl_Base
class  chaiscript::dispatch::Proxy_Function_Callable_Impl< Func, Callable >
 For any callable object. More...
class  chaiscript::dispatch::Assignable_Proxy_Function
class  chaiscript::dispatch::Assignable_Proxy_Function_Impl< Func >
class  chaiscript::dispatch::Attribute_Access< T, Class >
 Attribute getter Proxy_Function implementation. More...
class  chaiscript::exception::dispatch_error
 Exception thrown in the case that a method dispatch fails because no matching function was found. More...

Namespaces

namespace  chaiscript
 Namespace chaiscript contains every API call that the average user will be concerned with.
namespace  chaiscript::exception
 Classes which may be thrown during error cases when ChaiScript is executing.
namespace  chaiscript::dispatch
 Classes and functions specific to the runtime dispatch side of ChaiScript. Some items may be of use to the end user.
namespace  chaiscript::dispatch::detail

Typedefs

typedef std::unique_ptr< AST_Node > chaiscript::AST_NodePtr
 Typedef for pointers to AST_Node objects. Used in building of the AST_Node tree.
typedef std::shared_ptr< dispatch::Proxy_Function_Base > chaiscript::Proxy_Function
 Common typedef used for passing of any registered function in ChaiScript.
typedef std::shared_ptr< const dispatch::Proxy_Function_Base > chaiscript::Const_Proxy_Function
 Const version of Proxy_Function. Points to a const Proxy_Function. This is how most registered functions are handled internally.

Functions

template<typename FunctionType>
std::function< FunctionType > chaiscript::dispatch::functor (std::shared_ptr< const Proxy_Function_Base > func, const Type_Conversions_State *t_conversions)
template<typename Callable, typename ... Arg>
Proxy_Function chaiscript::dispatch::make_dynamic_proxy_function (Callable &&c, Arg &&... a)
template<typename FuncType>
bool chaiscript::dispatch::detail::types_match_except_for_arithmetic (const FuncType &t_func, const std::vector< Boxed_Value > &plist, const Type_Conversions_State &t_conversions)
template<typename InItr, typename Funcs>
Boxed_Value chaiscript::dispatch::detail::dispatch_with_conversions (InItr begin, const InItr &end, const std::vector< Boxed_Value > &plist, const Type_Conversions_State &t_conversions, const Funcs &t_funcs)
template<typename Funcs>
Boxed_Value chaiscript::dispatch::dispatch (const Funcs &funcs, const std::vector< Boxed_Value > &plist, const Type_Conversions_State &t_conversions)