On Mon, 22 Aug 2005, Alex Rousskov wrote:
(*) For example, multiple inheritance does not seem to be supported by cbdata due to (void*) casting:
Not only the cast. cbdata is really designed for simple structs and depends on being able to find the cbdata info from the object pointer. In multiple inheritance this isn't so easy as the object pointer in an inherited method may be the sub-object of the inherited class..
It has however for a long time been a desireable goal to unify refcounting and cbdata, keeping only a single concept.
So in short I am all for adding an invalidation concept to the refcount class we have today, perparing for the migration away from the current C-style CBDATA into a more OO-friendly design. Then perhaps move on to have weak pointers ontop of this.
Regards Henrik
