mirror of
https://github.com/vcmi/vcmi.git
synced 2025-12-01 23:12:49 +02:00
vcmi: modernize lua
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
|
||||
#include "api/Registry.h"
|
||||
#include "LuaStack.h"
|
||||
#include <type_traits>
|
||||
|
||||
VCMI_LIB_NAMESPACE_BEGIN
|
||||
|
||||
@@ -187,6 +188,7 @@ public:
|
||||
template <typename U, typename T, typename R, typename P1, R(T:: * method)(P1)const>
|
||||
class LuaMethodWrapper <U, R(T:: *)(P1)const, method>
|
||||
{
|
||||
using PM1 = std::remove_cv_t<std::remove_reference_t<P1>>;
|
||||
public:
|
||||
static int invoke(lua_State * L)
|
||||
{
|
||||
@@ -196,7 +198,7 @@ public:
|
||||
if(!S.tryGet(1,obj))
|
||||
return S.retVoid();
|
||||
|
||||
P1 p1;
|
||||
PM1 p1;
|
||||
if(!S.tryGet(2, p1))
|
||||
return S.retVoid();
|
||||
|
||||
@@ -210,6 +212,7 @@ public:
|
||||
template <typename U, typename T, typename R, typename P1, R(T:: * method)(P1)>
|
||||
class LuaMethodWrapper <U, R(T:: *)(P1), method>
|
||||
{
|
||||
using PM1 = std::remove_cv_t<std::remove_reference_t<P1>>;
|
||||
public:
|
||||
static int invoke(lua_State * L)
|
||||
{
|
||||
@@ -219,7 +222,7 @@ public:
|
||||
if(!S.tryGet(1,obj))
|
||||
return S.retVoid();
|
||||
|
||||
P1 p1;
|
||||
PM1 p1;
|
||||
if(!S.tryGet(2, p1))
|
||||
return S.retVoid();
|
||||
|
||||
@@ -233,6 +236,7 @@ public:
|
||||
template <typename U, typename T, typename P1, void(T:: * method)(P1)const>
|
||||
class LuaMethodWrapper <U, void(T:: *)(P1)const, method>
|
||||
{
|
||||
using PM1 = std::remove_cv_t<std::remove_reference_t<P1>>;
|
||||
public:
|
||||
static int invoke(lua_State * L)
|
||||
{
|
||||
@@ -242,7 +246,7 @@ public:
|
||||
if(!S.tryGet(1,obj))
|
||||
return S.retVoid();
|
||||
|
||||
P1 p1;
|
||||
PM1 p1;
|
||||
if(!S.tryGet(2, p1))
|
||||
return S.retVoid();
|
||||
|
||||
@@ -256,6 +260,7 @@ public:
|
||||
template <typename U, typename T, typename P1, void(T:: * method)(P1)>
|
||||
class LuaMethodWrapper <U, void(T:: *)(P1), method>
|
||||
{
|
||||
using PM1 = std::remove_cv_t<std::remove_reference_t<P1>>;
|
||||
public:
|
||||
static int invoke(lua_State * L)
|
||||
{
|
||||
@@ -265,7 +270,7 @@ public:
|
||||
if(!S.tryGet(1,obj))
|
||||
return S.retVoid();
|
||||
|
||||
P1 p1;
|
||||
PM1 p1;
|
||||
if(!S.tryGet(2, p1))
|
||||
return S.retVoid();
|
||||
|
||||
@@ -279,6 +284,8 @@ public:
|
||||
template <typename U, typename T, typename R, typename P1, typename P2, R(T:: * method)(P1, P2)const>
|
||||
class LuaMethodWrapper <U, R(T:: *)(P1, P2)const, method>
|
||||
{
|
||||
using PM1 = std::remove_cv_t<std::remove_reference_t<P1>>;
|
||||
using PM2 = std::remove_cv_t<std::remove_reference_t<P2>>;
|
||||
public:
|
||||
static int invoke(lua_State * L)
|
||||
{
|
||||
@@ -288,11 +295,11 @@ public:
|
||||
if(!S.tryGet(1, obj))
|
||||
return S.retVoid();
|
||||
|
||||
P1 p1;
|
||||
PM1 p1;
|
||||
if(!S.tryGet(2, p1))
|
||||
return S.retVoid();
|
||||
|
||||
P2 p2;
|
||||
PM2 p2;
|
||||
if(!S.tryGet(3, p2))
|
||||
return S.retVoid();
|
||||
|
||||
@@ -306,6 +313,8 @@ public:
|
||||
template <typename U, typename T, typename P1, typename P2, void(T:: * method)(P1, P2)const>
|
||||
class LuaMethodWrapper <U, void(T:: *)(P1, P2)const, method>
|
||||
{
|
||||
using PM1 = std::remove_cv_t<std::remove_reference_t<P1>>;
|
||||
using PM2 = std::remove_cv_t<std::remove_reference_t<P2>>;
|
||||
public:
|
||||
static int invoke(lua_State * L)
|
||||
{
|
||||
@@ -315,11 +324,11 @@ public:
|
||||
if(!S.tryGet(1, obj))
|
||||
return S.retVoid();
|
||||
|
||||
P1 p1;
|
||||
PM1 p1;
|
||||
if(!S.tryGet(2, p1))
|
||||
return S.retVoid();
|
||||
|
||||
P2 p2;
|
||||
PM2 p2;
|
||||
if(!S.tryGet(3, p2))
|
||||
return S.retVoid();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user