Skip to content

Commit 9da3e95

Browse files
committed
Improve inlining by moving some functions to LuaBasic.h
1 parent 6eeaeb3 commit 9da3e95

File tree

2 files changed

+37
-49
lines changed

2 files changed

+37
-49
lines changed

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

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -11,46 +11,6 @@
1111

1212
namespace lua
1313
{
14-
int Push(lua_State* L, int value)
15-
{
16-
lua_pushnumber(L, value);
17-
return 1;
18-
}
19-
int Push(lua_State* L, unsigned int value)
20-
{
21-
lua_pushnumber(L, value);
22-
return 1;
23-
}
24-
int Push(lua_State* L, float value)
25-
{
26-
lua_pushnumber(L, value);
27-
return 1;
28-
}
29-
int Push(lua_State* L, double value)
30-
{
31-
lua_pushnumber(L, value);
32-
return 1;
33-
}
34-
35-
int Push(lua_State* L, bool value)
36-
{
37-
lua_pushboolean(L, value);
38-
return 1;
39-
}
40-
41-
int Push(lua_State* L, nullptr_t)
42-
{
43-
lua_pushnil(L);
44-
return 1;
45-
}
46-
47-
int Push(lua_State* L, const std::string& value)
48-
{
49-
lua_pushlstring(L, value.data(), value.length());
50-
return 1;
51-
}
52-
53-
5414
template <>
5515
std::string PopPrimitive<std::string>(lua_State* L, std::size_t& index)
5616
{

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

Lines changed: 37 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,44 @@ namespace lua
2929
// The return value must be the net amount of items pushed to the stack, which should
3030
// be 1 for most types (e.g. Push<int>) but may be any number for special cases
3131
// like tuples, in order to allow returning multiple values from a function
32-
33-
int Push(lua_State* L, int val);
34-
int Push(lua_State* L, const std::string& val);
35-
int Push(lua_State* L, bool val);
36-
int Push(lua_State* L, std::nullptr_t);
37-
int Push(lua_State* L, float val);
38-
int Push(lua_State* L, double val);
39-
int Push(lua_State* L, unsigned int val);
40-
int Push(lua_State* L, unsigned short val);
32+
inline int Push(lua_State* L, int value)
33+
{
34+
lua_pushnumber(L, value);
35+
return 1;
36+
}
37+
inline int Push(lua_State* L, unsigned int value)
38+
{
39+
lua_pushnumber(L, value);
40+
return 1;
41+
}
42+
inline int Push(lua_State* L, float value)
43+
{
44+
lua_pushnumber(L, value);
45+
return 1;
46+
}
47+
inline int Push(lua_State* L, double value)
48+
{
49+
lua_pushnumber(L, value);
50+
return 1;
51+
}
4152

53+
inline int Push(lua_State* L, bool value)
54+
{
55+
lua_pushboolean(L, value);
56+
return 1;
57+
}
58+
59+
inline int Push(lua_State* L, nullptr_t)
60+
{
61+
lua_pushnil(L);
62+
return 1;
63+
}
64+
65+
inline int Push(lua_State* L, const std::string& value)
66+
{
67+
lua_pushlstring(L, value.data(), value.length());
68+
return 1;
69+
}
4270

4371
template <typename... Ts>
4472
int Push(lua_State* L, const std::variant<Ts...>&& val)

0 commit comments

Comments
 (0)