Sorry my last message I sent incomplete :)
I will try again. First I have a c++ class like this: struct object { object(object *parent=0) // if parent !=NULL append this at parent children list ~object() //Destroy all children }; Is possible implement this using "python::with_custodian_and_ward_postcall"? I tried some like that: qclass_<object_wrapper, boost::noncopyable > ("object", python::init<> ()) //here i put self will be the ward and arg 2 (parent) will be the custodian //the lifetime of the self will be dependent on the lifetime of the parent .def(python::init<object*>()[python::with_custodian_and_ward_postcall<2,1>()]) But in my python code I tried some like that: o = object() o2 = object(o) del o and this produce this exception during the del operation: *** glibc detected *** python: free(): invalid pointer: 0x09c89970 *** _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig