11#ifndef CHAISCRIPT_HANDLE_RETURN_HPP_
12#define CHAISCRIPT_HANDLE_RETURN_HPP_
35 template<
typename Ret>
39 typename =
typename std::enable_if<std::is_pod<typename std::decay<T>::type>::value>::type>
46 typename =
typename std::enable_if<!std::is_pod<typename std::decay<T>::type>::value>::type>
49 return Boxed_Value(std::make_shared<T>(std::forward<T>(r)),
true);
53 template<
typename Ret>
63 template<
typename Ret>
68 template<
typename Ret>
78 template<
typename Ret>
83 template<
typename Ret>
88 template<
typename Ret>
94 std::shared_ptr<std::function<Ret>>())
105 template<
typename Ret>
114 template<
typename Ret>
123 template<
typename Ret>
132 template<
typename Ret>
141 template<
typename Ret>
150 template<
typename Ret>
155 template<
typename Ret>
161 template<
typename Ret>
172 template<
typename Ret>
181 template<
typename Ret>
190 template<
typename Ret>
Represents any numeric type, generically. Used internally for generic operations between POD values.
Definition boxed_number.hpp:66
Boxed_Value bv
Definition boxed_number.hpp:905
A wrapper for holding any valid C++ type. All types in ChaiScript are Boxed_Value objects.
Definition boxed_value.hpp:28
Definition proxy_functions.hpp:680
Definition proxy_functions.hpp:196
For any callable object.
Definition proxy_functions.hpp:637
void function(void)
Definition memory_leak_test.cpp:26
Definition callable_traits.hpp:14
Classes and functions specific to the runtime dispatch side of ChaiScript. Some items may be of use t...
Definition callable_traits.hpp:13
Namespace chaiscript contains every API call that the average user will be concerned with.
Boxed_Value void_var()
Definition boxed_value.hpp:466
std::shared_ptr< B > make_shared(Arg &&... arg)
Definition chaiscript_defines.hpp:87
double f(const std::string &, double, bool) noexcept
Definition profile_cpp_calls_2.cpp:4
Definition GameApi_bm.cc:4579
static Boxed_Value handle(const Boxed_Number &r)
Definition handle_return.hpp:229
static Boxed_Value handle(const Boxed_Value &r)
Definition handle_return.hpp:202
static Boxed_Value handle(Ret *p)
Definition handle_return.hpp:126
static Boxed_Value handle(Ret *p)
Definition handle_return.hpp:108
static Boxed_Value handle(Ret &r)
Definition handle_return.hpp:193
static Boxed_Value handle(Ret r)
Definition handle_return.hpp:184
static Boxed_Value handle(const Ret *p)
Definition handle_return.hpp:135
static Boxed_Value handle(const Ret *p)
Definition handle_return.hpp:117
static Boxed_Value handle(const Ret &r)
Definition handle_return.hpp:175
static Boxed_Value handle(const std::function< Ret > &f)
Definition handle_return.hpp:56
static Boxed_Value handle(const std::shared_ptr< std::function< Ret > > &f)
Definition handle_return.hpp:71
static Boxed_Value handle(std::function< Ret > &f)
Definition handle_return.hpp:91
static Boxed_Value handle(const std::function< Ret > &f)
Definition handle_return.hpp:98
static Boxed_Value handle(const std::shared_ptr< Ret > &r)
Definition handle_return.hpp:144
static Boxed_Value handle(std::unique_ptr< Ret > &&r)
Definition handle_return.hpp:164
static Boxed_Value handle()
Definition handle_return.hpp:247
Used internally for handling a return value from a Proxy_Function call.
Definition handle_return.hpp:37
static Boxed_Value handle(T &&r)
Definition handle_return.hpp:47
static Boxed_Value handle(T r)
Definition handle_return.hpp:40