[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: lua user data objects and interfacing c++
- From: Adrian Sietsma <adrian_groups@...>
- Date: Wed, 29 Sep 2004 05:39:22 -0700
Robert Sadedin wrote:
I am storing a c++ object in a lua user data, and binding a meta table
to it for lookup on method calls.
What I would like to do is allow a user to add lua variables to these
c++ objects wrapped by a user data and accessed through the meta table.
Currently a user can call, for instance:
obj = createSomeObject()
I'd like the user to be able to say:
obj.x = 6
you could try this :
1/ implement an upvalue attributes table in the metatable
2/ hook meta.__newindex() to add new attribs to the local table
3/ check attributes table first on meta.__index()
this would require a seperate metatble per userdata, but they can all
share the __index and __newindex function
nb pairs will not see the attributes if you do this.