lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]




I've got a toLua question about memory management. I have several C++ functions that allocate some memory, and return the new object to Lua via the standard toLua bindings. Now, in some cases, I'd really like to be able to have the right destructor for that object called when the object is garbage collected from Lua. Other times, I prefer to pass ownership of the object off to some other C++ class.

I've noticed functions like tolua_takeownership() but cannot figure out how
they are designed to work. Can someone give me a few suggestions? Can toLua
be configured to set the "gc" tag for objects that I want to take ownership
of?

tolua_takeownership tells tolua to destruct the object when its corresponding userdata is garbage collected.

so, you con takeownership only for those objects you want the destructor called automatically.

-- waldemar