#include <sol.hpp>
|
| basic_function ()=default |
|
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_function >>, meta::neg< std::is_same< base_t, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler> |
| basic_function (T &&r) noexcept |
|
| basic_function (const basic_function &)=default |
|
basic_function & | operator= (const basic_function &)=default |
|
| basic_function (basic_function &&)=default |
|
basic_function & | operator= (basic_function &&)=default |
|
| basic_function (const stack_reference &r) |
|
| basic_function (stack_reference &&r) |
|
| basic_function (lua_nil_t n) |
|
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler> |
| basic_function (lua_State *L, T &&r) |
|
| basic_function (lua_State *L, int index=-1) |
|
| basic_function (lua_State *L, ref_index index) |
|
template<typename... Args> |
unsafe_function_result | operator() (Args &&... args) const |
|
template<typename... Ret, typename... Args> |
decltype(auto) | operator() (types< Ret... >, Args &&... args) const |
|
template<typename... Ret, typename... Args> |
decltype(auto) | call (Args &&... args) const |
|
|
void | luacall (std::ptrdiff_t argcount, std::ptrdiff_t resultcount) const |
|
template<std::size_t... I, typename... Ret> |
auto | invoke (types< Ret... >, std::index_sequence< I... >, std::ptrdiff_t n) const |
|
template<std::size_t I, typename Ret > |
Ret | invoke (types< Ret >, std::index_sequence< I >, std::ptrdiff_t n) const |
|
template<std::size_t I> |
void | invoke (types< void >, std::index_sequence< I >, std::ptrdiff_t n) const |
|
unsafe_function_result | invoke (types<>, std::index_sequence<>, std::ptrdiff_t n) const |
|
§ basic_function() [1/10]
template<typename base_t, bool aligned = false>
§ basic_function() [2/10]
template<typename base_t, bool aligned = false>
template<typename T , meta::enable< meta::neg< std::is_same< meta::unqualified_t< T >, basic_function >>, meta::neg< std::is_same< base_t, stack_reference >>, meta::neg< std::is_same< lua_nil_t, meta::unqualified_t< T >>>, is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
14978 :
base_t(std::forward<T>(r)) {
14979 #if defined(SOL_SAFE_REFERENCES) && SOL_SAFE_REFERENCES 14980 if (!is_function<meta::unqualified_t<T>>::value) {
14982 constructor_handler
handler{};
14983 stack::check<basic_function>(lua_state(), -1,
handler);
push_popper< top_level, T > push_pop(T &&x)
Definition: sol.hpp:6661
§ basic_function() [3/10]
template<typename base_t, bool aligned = false>
§ basic_function() [4/10]
template<typename base_t, bool aligned = false>
§ basic_function() [5/10]
template<typename base_t, bool aligned = false>
§ basic_function() [6/10]
template<typename base_t, bool aligned = false>
§ basic_function() [7/10]
template<typename base_t, bool aligned = false>
§ basic_function() [8/10]
template<typename base_t, bool aligned = false>
template<typename T , meta::enable< is_lua_reference< meta::unqualified_t< T >>> = meta::enabler>
15002 :
base_t(L, std::forward<T>(r)) {
15003 #if defined(SOL_SAFE_REFERENCES) && SOL_SAFE_REFERENCES 15005 constructor_handler
handler{};
15006 stack::check<basic_function>(lua_state(), -1,
handler);
push_popper< top_level, T > push_pop(T &&x)
Definition: sol.hpp:6661
§ basic_function() [9/10]
template<typename base_t, bool aligned = false>
15011 #if defined(SOL_SAFE_REFERENCES) && SOL_SAFE_REFERENCES 15012 constructor_handler
handler{};
§ basic_function() [10/10]
template<typename base_t, bool aligned = false>
15018 #if defined(SOL_SAFE_REFERENCES) && SOL_SAFE_REFERENCES 15020 constructor_handler
handler{};
15021 stack::check<basic_function>(lua_state(), -1,
handler);
push_popper< top_level, T > push_pop(T &&x)
Definition: sol.hpp:6661
§ call()
template<typename base_t, bool aligned = false>
template<typename... Ret, typename... Args>
15041 return invoke(types<Ret...>(), std::make_index_sequence<
sizeof...(Ret)>(), pushcount);
int multi_push_reference(lua_State *)
Definition: sol.hpp:7802
auto invoke(types< Ret... >, std::index_sequence< I... >, std::ptrdiff_t n) const
Definition: sol.hpp:14947
int push(lua_State *L, Arg &&arg, Args &&... args)
Definition: sol.hpp:7776
§ invoke() [1/4]
template<typename base_t, bool aligned = false>
template<std::size_t... I, typename... Ret>
14948 luacall(n, lua_size<std::tuple<Ret...>>::value);
14949 return stack::pop<std::tuple<Ret...>>(lua_state());
decltype(auto) pop(lua_State *L)
Definition: sol.hpp:8064
void luacall(std::ptrdiff_t argcount, std::ptrdiff_t resultcount) const
Definition: sol.hpp:14942
§ invoke() [2/4]
template<typename base_t, bool aligned = false>
template<std::size_t I, typename Ret >
14954 luacall(n, lua_size<Ret>::value);
14955 return stack::pop<Ret>(lua_state());
void luacall(std::ptrdiff_t argcount, std::ptrdiff_t resultcount) const
Definition: sol.hpp:14942
§ invoke() [3/4]
template<typename base_t, bool aligned = false>
template<std::size_t I>
void luacall(std::ptrdiff_t argcount, std::ptrdiff_t resultcount) const
Definition: sol.hpp:14942
§ invoke() [4/4]
template<typename base_t, bool aligned = false>
14964 int stacksize = lua_gettop(lua_state());
14965 int firstreturn = (std::max)(1, stacksize - static_cast<int>(n));
14967 int poststacksize = lua_gettop(lua_state());
14968 int returncount = poststacksize - (firstreturn - 1);
14969 return unsafe_function_result(lua_state(), firstreturn, returncount);
void luacall(std::ptrdiff_t argcount, std::ptrdiff_t resultcount) const
Definition: sol.hpp:14942
§ luacall()
template<typename base_t, bool aligned = false>
14943 lua_call(lua_state(), static_cast<int>(argcount), static_cast<int>(resultcount));
§ operator()() [1/2]
template<typename base_t, bool aligned = false>
template<typename... Args>
15027 return call<>(std::forward<Args>(args)...);
§ operator()() [2/2]
template<typename base_t, bool aligned = false>
template<typename... Ret, typename... Args>
15032 return call<Ret...>(std::forward<Args>(args)...);
decltype(auto) call(Args &&... args) const
Definition: sol.hpp:15036
§ operator=() [1/2]
template<typename base_t, bool aligned = false>
§ operator=() [2/2]
template<typename base_t, bool aligned = false>
The documentation for this class was generated from the following file: