mirror of
https://github.com/ThePhD/sol2.git
synced 2024-03-22 13:10:44 +08:00
Because bwuh.
This commit is contained in:
parent
e417d5ce87
commit
5d722af1b0
|
@ -254,6 +254,34 @@ struct getter<T, std::enable_if_t<std::is_base_of<reference, T>::value>> {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct getter<userdata> {
|
||||||
|
static userdata get(lua_State* L, int index = -1) {
|
||||||
|
return{ lua_touserdata(L, index) };
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct getter<light_userdata> {
|
||||||
|
static light_userdata get(lua_State* L, int index = -1) {
|
||||||
|
return{ lua_touserdata(L, index) };
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct getter<upvalue> {
|
||||||
|
static upvalue get(lua_State* L, int index = 1) {
|
||||||
|
return{ lua_touserdata(L, lua_upvalueindex(index)) };
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
template<>
|
||||||
|
struct getter<void*> {
|
||||||
|
static void* get(lua_State* L, int index = -1) {
|
||||||
|
return lua_touserdata(L, index);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
struct getter<T*> {
|
struct getter<T*> {
|
||||||
static T* get_no_nil(lua_State* L, int index = -1) {
|
static T* get_no_nil(lua_State* L, int index = -1) {
|
||||||
|
@ -354,34 +382,6 @@ struct getter<c_closure> {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
template<>
|
|
||||||
struct getter<userdata> {
|
|
||||||
static userdata get(lua_State* L, int index = -1) {
|
|
||||||
return{ lua_touserdata(L, index) };
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template<>
|
|
||||||
struct getter<light_userdata> {
|
|
||||||
static light_userdata get(lua_State* L, int index = -1) {
|
|
||||||
return{ lua_touserdata(L, index) };
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template<>
|
|
||||||
struct getter<upvalue> {
|
|
||||||
static upvalue get(lua_State* L, int index = 1) {
|
|
||||||
return{ lua_touserdata(L, lua_upvalueindex(index)) };
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template<>
|
|
||||||
struct getter<void*> {
|
|
||||||
static void* get(lua_State* L, int index = -1) {
|
|
||||||
return lua_touserdata(L, index);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
struct getter<std::tuple<Args...>> {
|
struct getter<std::tuple<Args...>> {
|
||||||
template <std::size_t... I>
|
template <std::size_t... I>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user