mirror of
https://github.com/ThePhD/sol2.git
synced 2024-03-22 13:10:44 +08:00
Some quick fixes and harmless polishes for the compat layer in state.hpp
This commit is contained in:
parent
069a209a4e
commit
6a16a5a482
|
@ -80,12 +80,12 @@ public:
|
|||
}
|
||||
|
||||
template<typename... Ret, typename... Args>
|
||||
typename return_type<Ret...>::type operator()(types<Ret...>, Args&&... args) const {
|
||||
ReturnType<Ret...> operator()(types<Ret...>, Args&&... args) const {
|
||||
return call<Ret...>(std::forward<Args>(args)...);
|
||||
}
|
||||
|
||||
template<typename... Ret, typename... Args>
|
||||
typename return_type<Ret...>::type call(Args&&... args) const {
|
||||
ReturnType<Ret...> call(Args&&... args) const {
|
||||
push();
|
||||
int pushcount = stack::push_args(state(), std::forward<Args>(args)...);
|
||||
auto tr = types<Ret...>();
|
||||
|
|
|
@ -95,13 +95,13 @@ public:
|
|||
luaL_requiref(L.get(), "package", luaopen_package, 1);
|
||||
lua_pop(L.get(), 1);
|
||||
break;
|
||||
case lib::coroutine:
|
||||
#if SOL_LUA_VERSION > 501
|
||||
case lib::coroutine:
|
||||
luaL_requiref(L.get(), "coroutine", luaopen_coroutine, 1);
|
||||
lua_pop(L.get(), 1);
|
||||
#endif // Lua 5.2+ only
|
||||
break;
|
||||
case lib::string:
|
||||
#endif // Lua 5.2+ only
|
||||
case lib::string:
|
||||
luaL_requiref(L.get(), "string", luaopen_string, 1);
|
||||
lua_pop(L.get(), 1);
|
||||
break;
|
||||
|
|
|
@ -118,10 +118,13 @@ struct return_type<T> {
|
|||
};
|
||||
|
||||
template<>
|
||||
struct return_type<> : types<>{
|
||||
struct return_type<> {
|
||||
typedef void type;
|
||||
};
|
||||
|
||||
template <typename... Tn>
|
||||
using ReturnType = typename return_type<Tn...>::type;
|
||||
|
||||
namespace detail {
|
||||
|
||||
template<typename T, bool isclass = std::is_class<Unqualified<T>>::value>
|
||||
|
|
Loading…
Reference in New Issue
Block a user