Lua Utils
Biblioteca utilitária para facilitar a integração de Lua com C++
luaObjRef.h
Go to the documentation of this file.
1 /************************************************************************
2 **
3 ** Copyright (C) 2009 K2FS Sistemas e Projetos Ltd.
4 ** All rights reserved.
5 **
6 ************************************************************************/
7 
18 #ifndef _LUAOBJREF_H_
19 #define _LUAOBJREF_H_
20 
21 
22 #include "luaEnv.h"
23 
27 class LUAUTILS_API_EXPORT LuaObjRef
28 {
29 public:
30  LuaObjRef();
31  LuaObjRef(const LuaObjRef& other);
32  LuaObjRef(LuaEnv* lua, int index, bool ref = false);
33  ~LuaObjRef();
34 
35  LuaObjRef& operator=(const LuaObjRef&);
36 
37  void makeRef();
38 
40  int ref() const { return _ref; }
41 
42  void push() const;
43 
45  bool isValid() const { return _lua != NULL; }
46 
48  LuaEnv* env() const { return _lua; }
49 
50  void adjustStackIndex(int offset);
51 
52 protected:
53  int objectPos();
54 
57  int _ref;
58 
59 };
60 
61 #endif
bool isValid() const
Retorna true se o objeto contiver uma referência válida (não foi construída com o construtor default)
Definition: luaObjRef.h:45
int _stackIndex
Indice na pilha contendo o objeto. Valido se _ref == LUA_NOREF.
Definition: luaObjRef.h:56
Definicao das classes LuaEnv e AutoLuaEnv.
int ref() const
Retorna a referência salva pelo objeto (pode ser LUA_NOREF)
Definition: luaObjRef.h:40
int _ref
Referencia para o objeto.
Definition: luaObjRef.h:57
Classe para interface com ambientes Lua.
Definition: luaEnv.h:34
LuaEnv * _lua
Estado Lua que contém o objeto.
Definition: luaObjRef.h:55
LuaEnv * env() const
Retorna o ambiente Lua a que este objeto pertence.
Definition: luaObjRef.h:48
Classe para interface com ambientes Lua, modelando uma referência para um objeto.
Definition: luaObjRef.h:27