18#ifndef _LUASTACKBALANCER_H_
19#define _LUASTACKBALANCER_H_
27#if defined QT_NO_DEBUG
29#define LUA_SAVE_TOP(ENV) ((void)0)
30#define LUA_CHECK_TOP(ENV) ((void)0)
31#define LUA_CHECK_TOP_O(ENV, o) ((void)0)
33#define LUA_SAVE_TOPL(L) ((void)0)
34#define LUA_CHECK_TOPL(L) ((void)0)
35#define LUA_CHECK_TOPL_O(L, o) ((void)0)
40#define LUA_SAVE_TOP(ENV) int _lua_save_top = (ENV).top()
43#define LUA_CHECK_TOP(ENV) assert((ENV).top() == _lua_save_top)
46#define LUA_CHECK_TOP_O(ENV, o) assert((ENV).top() == _lua_save_top + o)
50#define LUA_SAVE_TOPL(L) int _lua_save_top = lua_gettop(L)
53#define LUA_CHECK_TOPL(L) assert(lua_gettop(L) == _lua_save_top)
56#define LUA_CHECK_TOPL_O(L, o) assert(lua_gettop(L) == _lua_save_top + o)
87 assert(_lua->top() >= _top);
Classe para interface com ambientes Lua.
Definition luaEnv.h:35
int top()
Retorna índice do elemento no topo da pilha.
Definition luaEnv.h:145
Classe auxiliar que garante o balanceamento da pilha de Lua.
Definition luaStackBalancer.h:72
~LuaStackBalancer()
Destrutor. Remove itens a mais na pilha.
Definition luaStackBalancer.h:83
int _top
Topo da pilha no momento da construção do objeto.
Definition luaStackBalancer.h:94
LuaStackBalancer(LuaEnv *lua)
Construtor. Registra estado atual da pilha se lua != NULL.
Definition luaStackBalancer.h:75
LuaEnv * _lua
Ambiente Lua.
Definition luaStackBalancer.h:93
Definicao das classes LuaEnv e AutoLuaEnv.