Hi Joseph, > The implementation may not know, but the application _does_. > An assumption in the IDOM approach is that the application will be > actively involved in memory management.
Perhaps this vote is premature, for noone has fully defined what the IDOM interface looks like with the additional stuff necessary for it memory leaks to be avoided. > The downside is that this > is more work; the upside is that this allows memory to be managed > more effectively and efficiently. How does it allow memory to be managed more effectively and efficiently? Lenny For many uses, the IDOM approach is significantly better. For those where it isn't, I'd suggest an additional layer that implements the wrapper-object solution. That way apps which don't want to bother tracking usage can get that behavior, but ONLY those apps pay the storage and computational surcharge of supporting that mode of operation. -----Original Message----- From: Joseph Kesselman/CAM/Lotus [mailto:[EMAIL PROTECTED]] Sent: Monday, April 29, 2002 11:24 AM To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: RE: Call for Vote: which one to be the Xerces-C++ public supported W3C DOM interface > virtual IDOM_Node *getFirstChild() const = 0; >The implementation has no idea how long a the returned child is in use, >because it is being returned as a raw pointer. The implementation may not know, but the application _does_. An assumption in the IDOM approach is that the application will be actively involved in memory management. The downside is that this is more work; the upside is that this allows memory to be managed more effectively and efficiently. For many uses, the IDOM approach is significantly better. For those where it isn't, I'd suggest an additional layer that implements the wrapper-object solution. That way apps which don't want to bother tracking usage can get that behavior, but ONLY those apps pay the storage and computational surcharge of supporting that mode of operation. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
