![]() |
Lua Utils
Biblioteca utilitária para facilitar a integração de Lua com C++
|
Classe para interface com ambientes Lua, modelando uma referência para um objeto. More...
#include <luaObjRef.h>


Public Member Functions | |
| LuaObjRef () | |
| Construtor default. | |
| LuaObjRef (const LuaObjRef &other) | |
| Construtor de cópia. Gera nova referência para o mesmo objeto. | |
| LuaObjRef (LuaEnv *lua, int index, bool ref=false) | |
| Cria objeto encapsulando o objeto presente no indice recebido como parâmetro. More... | |
| ~LuaObjRef () | |
| Destrutor. | |
| LuaObjRef & | operator= (const LuaObjRef &) |
| Operador de atribuição. | |
| void | makeRef () |
| Se objeto armazena apenas o índice na pilha, cria nova referência para o objeto e a armazena. | |
| int | ref () const |
| Retorna a referência salva pelo objeto (pode ser LUA_NOREF) | |
| void | push () const |
| Coloca referência para o objeto no topo da pilha em Lua. | |
| bool | isValid () const |
| Retorna true se o objeto contiver uma referência válida (não foi construída com o construtor default) | |
| LuaEnv * | env () const |
| Retorna o ambiente Lua a que este objeto pertence. | |
| void | adjustStackIndex (int offset) |
| Adds the given (positive or negative) offset to the table's stackIndex. Should be used only for tables storing an index, and NOT for tables storing a reference. More... | |
Protected Member Functions | |
| int | objectPos () |
| Se o objeto já está na pilha (_ref == LUA_NOREF), simplesmente retorna sua posição. Senão (estamos mantendo uma referência para o objeto), coloca o mesmo no topo da pilha e retorna esta posição. | |
Protected Attributes | |
| LuaEnv * | _lua |
| Estado Lua que contém o objeto. | |
| int | _stackIndex |
| Indice na pilha contendo o objeto. Valido se _ref == LUA_NOREF. | |
| int | _ref |
| Referencia para o objeto. | |
Classe para interface com ambientes Lua, modelando uma referência para um objeto.
Dependendo de como o objeto for construido, pode criar e guardar uma referência para o objeto ou simplesmente guardar a posição na pilha que o objeto ocupa. Neste segundo caso, o objeto é válido apenas enquanto o mesmo continuar na mesma posição da pilha.
| LuaObjRef::LuaObjRef | ( | LuaEnv * | lua, |
| int | index, | ||
| bool | ref = false |
||
| ) |
Cria objeto encapsulando o objeto presente no indice recebido como parâmetro.
| lua | Ambiente Lua |
| index | Indice do objeto na pilha (aceita indices negativos que são internamente convertidos para seu equivalente positivo) |
| ref | Se true, armazena uma referência para o objeto. Se false, armazena apenas o índice da pilha onde o objeto está. Neste caso, o objeto se mantém válido apenas enquanto este estiver neste indice da pilha. |
| void LuaObjRef::adjustStackIndex | ( | int | offset | ) |
Adds the given (positive or negative) offset to the table's stackIndex. Should be used only for tables storing an index, and NOT for tables storing a reference.
For those who know what they are doing. Usefull to adjust the table stack position if the Lua stack was altered by lua_remove() or lua_insert(), for exemple.
1.8.15