Lua/LuaInstance: Add mutli-arg Push()
This commit is contained in:
parent
46e4bb41b5
commit
bf31ee289e
|
|
@ -123,6 +123,7 @@ namespace Nz
|
||||||
void Pop(unsigned int n = 1U) const;
|
void Pop(unsigned int n = 1U) const;
|
||||||
|
|
||||||
template<typename T> int Push(T arg) const;
|
template<typename T> int Push(T arg) const;
|
||||||
|
template<typename T, typename T2, typename... Args> int Push(T firstArg, T2 secondArg, Args... args) const;
|
||||||
void PushBoolean(bool value) const;
|
void PushBoolean(bool value) const;
|
||||||
void PushCFunction(LuaCFunction func, unsigned int upvalueCount = 0) const;
|
void PushCFunction(LuaCFunction func, unsigned int upvalueCount = 0) const;
|
||||||
template<typename T> void PushField(const char* name, T&& arg, int tableIndex = -2) const;
|
template<typename T> void PushField(const char* name, T&& arg, int tableIndex = -2) const;
|
||||||
|
|
|
||||||
|
|
@ -606,6 +606,16 @@ namespace Nz
|
||||||
return LuaImplReplyVal(*this, std::move(arg), TypeTag<T>());
|
return LuaImplReplyVal(*this, std::move(arg), TypeTag<T>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename T, typename T2, typename... Args>
|
||||||
|
int LuaInstance::Push(T firstArg, T2 secondArg, Args... args) const
|
||||||
|
{
|
||||||
|
int valCount = 0;
|
||||||
|
valCount += Push(std::move(firstArg));
|
||||||
|
valCount += Push(secondArg, std::forward<Args>(args)...);
|
||||||
|
|
||||||
|
return valCount;
|
||||||
|
}
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
void LuaInstance::PushField(const char* name, T&& arg, int tableIndex) const
|
void LuaInstance::PushField(const char* name, T&& arg, int tableIndex) const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue