Lua Utils
Biblioteca utilitária para facilitar a integração de Lua com C++
Loading...
Searching...
No Matches
luaLightUserdata.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 _LUA_LIGHTUSERDATA_H_
19#define _LUA_LIGHTUSERDATA_H_
20
21#include "luaConfig.h"
22#include <QVariant>
23
24class LuaEnv;
25
30class LUAUTILS_API_EXPORT LuaLightUserdata
31{
32public:
33
36 LuaLightUserdata(LuaEnv* env, void* data);
37 LuaLightUserdata(LuaEnv* env, int index);
38
39 void push();
40 QVariant toVariant() const;
41
43 bool isNull() const { return _data == NULL; }
44
46 template <class T> T* value() { return (T*)_data; }
47
48private:
50 void* _data;
51};
52
55
56
62template <class T> T* LuaLightUserdataValue(QVariant val)
63{
64 if(val.isNull() || !val.canConvert<LuaLightUserdata>())
65 return NULL;
67 return ud.value<T>();
68}
69
70#endif
71
Classe para interface com ambientes Lua.
Definition luaEnv.h:35
Classe responsável por prover uma camada mínima sobre um light userdata de maneira que o mesmo possa ...
Definition luaLightUserdata.h:31
void * _data
Dado armazenado.
Definition luaLightUserdata.h:50
T * value()
Retorna o valor armazenado convertido para um T*.
Definition luaLightUserdata.h:46
bool isNull() const
Retorna true se o dado armazenado for nulo.
Definition luaLightUserdata.h:43
LuaEnv * _lua
Ambiente Lua associado.
Definition luaLightUserdata.h:49
Declaration of useful configuration definitions and some compatibility options fro compiling with sev...
T * LuaLightUserdataValue(QVariant val)
Recebe um QVariant contendo um LuaLightUserdata que armazena um valor do tipo T e retorna seu valor....
Definition luaLightUserdata.h:62
Q_DECLARE_METATYPE(LuaLightUserdata)
Cadastra tipo para este poder ser utilizado em um QVariant.
bool canConvert(int targetTypeId) const const
bool isNull() const const
T value() const const