Skip to content

Commit 190a262

Browse files
committed
Support for multiple return values for new argument parser (Fixes #1430)
1 parent c8d0de5 commit 190a262

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

Shared/mods/deathmatch/logic/lua/LuaBasic.h

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,15 @@ namespace lua
114114
return 1;
115115
}
116116

117+
// Tuples can be used to return multiple results
118+
template<typename... Ts>
119+
int Push(lua_State* L, const std::tuple<Ts...>&& tuple)
120+
{
121+
// Call Push on each element of the tuple
122+
std::apply([L](const auto&... value) { (Push(L, value), ...); }, tuple);
123+
return sizeof...(Ts);
124+
}
125+
117126
// Overload for enum types only
118127
template <typename T>
119128
typename std::enable_if_t<std::is_enum_v<T>, int> Push(lua_State* L, const T&& val)

0 commit comments

Comments
 (0)