Luaで、tolua++からバインドされたC++クラス階層を表すメタテーブル階層をナビゲートする必要があります。
たとえば、tolua++によってバインドされたC++のクラスCFooがあるとします。Luaでは、次のようにこのクラスのインスタンス(userdata型になります)を作成できます。
local s = CFoo.new()
私はメタテーブルを手に入れることができます:
local mt = getmetatable(s)
このクラスのバインドされたメンバーを次のように検査できます。
for i,v in pairs(mt[".get"]) do
-- Blah...
end
ただし、mt ["。get"]には、このクラスで明示的にバインドされたメンバーのみが含まれ、親クラスでバインドされたメンバーは含まれません。親クラスのメンバーを含む、すべてのバインドされたメンバーをトラバースする必要があります。
tolua ++ソースコードを調べると、tolua++は「tolua_super」グローバルテーブルにスーパークラス情報を保持しているようです。しかし、これをルア側からどのようにナビゲートするかは明確ではありません。