From 68e2e03838a475252e519a7a16a9bcb2e3e4dd62 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Mon, 12 Aug 2013 06:59:03 +0200 Subject: Adding LuaBigInt and a few more things. --- includes/BLua.h | 3 ++- includes/LuaBigInt.h | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 includes/LuaBigInt.h (limited to 'includes') diff --git a/includes/BLua.h b/includes/BLua.h index 1bcf763..1312051 100644 --- a/includes/BLua.h +++ b/includes/BLua.h @@ -123,6 +123,7 @@ class Lua { void call(const char * funcName, int tableIdx = LUA_GLOBALSINDEX, int nArgs = 0); void call(int nArgs = 0) { resume(nArgs); } + void pcall(int nArgs = 0) throw (GeneralException); void push() { checkstack(); lua_pushnil(L); } void push(lua_Number n) { checkstack(); lua_pushnumber(L, n); } @@ -191,7 +192,7 @@ class Lua { void weaken(); template - T * recast(int n = 1) { + T * recast(int n = -1) { LuaObjectBase * b; LuaObject * r; diff --git a/includes/LuaBigInt.h b/includes/LuaBigInt.h new file mode 100644 index 0000000..260c2e9 --- /dev/null +++ b/includes/LuaBigInt.h @@ -0,0 +1,20 @@ +#pragma once + +#include +#include + +namespace Balau { + +class LuaBigIntFactory : public LuaObjectFactory { + public: + LuaBigIntFactory(BigInt * b) : m_obj(b) { } + static void pushStatics(Lua & L); + protected: + void pushObjectAndMembers(Lua & L); + private: + BigInt * m_obj; +}; + +void registerLuaBigInt(Lua &); + +}; -- cgit v1.2.3