使用tolua ++导航Lua类层次结构

时间:2013-03-08 09:09:43

标签: lua tolua++

我需要在Lua中导航表示从tolua ++绑定的C ++类层次结构的元表层次结构。

例如,假设我在C ++中有一个类CFoo,它已被tolua ++绑定。在Lua中,我可以创建此类的实例(它成为userdata类型),如下所示:

local s = CFoo.new()

我可以通过以下方式获得metatable:

local mt = getmetatable(s)

我可以按如下方式检查这个类的绑定成员:

for i,v in pairs(mt[".get"]) do
    -- Blah...
end

但是,mt [“。get”]仅包含在此类中显式绑定的成员,而不包含任何父类中绑定的成员。我需要遍历所有绑定成员,包括父类中的成员。

从检查tolua ++源代码来看,似乎tolua ++在“tolua_super”全局表中保存了超类信息。但目前尚不清楚如何从Lua方面进行导航。

0 个答案:

没有答案