The base class for all objects in the Document Object Model.
DOMObject defines the rules for memory management in this implementation of the DOM. Violation of these rules, which are outlined in the following, results in memory leaks or dangling pointers.
Every object created by cloning or importing another object must be released. For every call to duplicate() there must be a matching call to release(). An object obtained via any other way must not be released, except ownership of it has been explicitely taken with a call to duplicate().
While DOMObjects are safe for use in multithreaded programs, a DOMObject or one of its subclasses must not be accessed from multiple threads simultaneously.
Known Derived Classes: AbstractNode, AbstractContainerNode, AttrMap, Attr, CharacterData, ChildNodesList, CDATASection, Comment, DTDMap, Document, DocumentType, Element, DocumentFragment, Entity, ElementsByTagNameListNS, ElementsByTagNameList, EntityReference, Event, NamedNodeMap, EventTarget, MutationEvent, Node, NodeList, ProcessingInstruction, Text, Notation
Creates the DOMObject. The object's reference count is initialized to one.
Destroys the DOMObject.
virtual void autoRelease() = 0;
void duplicate() const;
Increases the object's reference count.
void release() const;
Decreases the object's reference count. If the reference count reaches zero, the object is deleted.