![]() |
Lua Utils
Biblioteca utilitária para facilitar a integração de Lua com C++
|
Classe auxiliar que garante o balanceamento da pilha de Lua. More...
#include <luaStackBalancer.h>
Public Member Functions | |
LuaStackBalancer (LuaEnv *lua) | |
Construtor. Registra estado atual da pilha se lua != NULL. | |
~LuaStackBalancer () | |
Destrutor. Remove itens a mais na pilha. | |
Private Attributes | |
LuaEnv * | _lua |
Ambiente Lua. | |
int | _top |
Topo da pilha no momento da construção do objeto. | |
Classe auxiliar que garante o balanceamento da pilha de Lua.
Quando um obeto da classe é criado, registra a posição atual da pilha. A ser destruido, remove itens a mais na pilha. Se a pilha possuir menos itens do que originalmente, gera um assert.
IMPORTANTE: Nunca use um objeto desta classe em uma função que pode levantar um erro via luaL_error(). Esta função coloca a mensagem na pilha, e esta será removida pelo stack balancer antes da mesma ser mostrada pelo Lua....