Inherited by csvdom, inidom, jsondom, propdom, and xmldom.
The dom class implements a minimal DOM-style parser.
◆ dom() [1/2]
Creates a new instance of the dom class.
◆ dom() [2/2]
dom::dom |
( |
bool |
stringcacheenabled | ) |
|
Creates a new instance of the dom class, allowing the user to enable or disable the "string cache" for this instance.
By default, as each domnode is added to the dom tree, tag and attribute names and values are stored in a string cache and pointers into the cache are assigned to each node. Reference counters are kept and the string is removed from the cache when no more nodes are using it. If the data is highly repetitive this conserves memory at the cost of speed.
If the string cache is disabled then memory is allocated in each domnode for names and values and freed when the domnode is freed. This is faster but uses much more memory.
◆ ~dom()
Deletes this instance of the dom class.
◆ createRootNode()
virtual void dom::createRootNode |
( |
| ) |
|
|
virtual |
◆ getNullNode()
virtual domnode* dom::getNullNode |
( |
| ) |
const |
|
virtual |
Returns the null node of the DOM tree.
◆ getRootNode()
virtual domnode* dom::getRootNode |
( |
| ) |
const |
|
virtual |
Returns the root node of the DOM tree.
◆ parseFile()
virtual bool dom::parseFile |
( |
const char * |
filename | ) |
|
|
pure virtual |
◆ parseString()
virtual bool dom::parseString |
( |
const char * |
string | ) |
|
|
pure virtual |
◆ stringCacheEnabled()
bool dom::stringCacheEnabled |
( |
| ) |
|
Returns true if the string cache is enabled and false if it is disabled.
◆ write() [1/2]
◆ write() [2/2]
Writes the current DOM tree to "out".
If "indent" is true, then the output is automatically indented. If "indent" is false, then the tree is output as-is.
Reimplemented in csvdom.
◆ writeFile()
virtual bool dom::writeFile |
( |
const char * |
filename, |
|
|
mode_t |
perms |
|
) |
| const |
|
virtual |
Writes the current DOM tree to "filename" and sets permissions of the file to "perms".