Virtual class represents an evio node in memory, concrete sub-classes evioDOMContainerNode and evioDOMLeafNode are hidden from users. More...
#include <evioUtil.hxx>
  
 Public Member Functions | |
| virtual | ~evioDOMNode (void) | 
| virtual void | addNode (evioDOMNodeP node) throw (evioException) | 
| Adds node to container node.   | |
| void | append (const string &s) throw (evioException) | 
| Appends string to leaf node.   | |
| void | append (const char *s) throw (evioException) | 
| Appends const char* to leaf node.   | |
| void | append (char *s) throw (evioException) | 
| Appends char* to leaf node.   | |
| void | append (const char **ca, int len) throw (evioException) | 
| Appends array of const char* to leaf node.   | |
| void | append (char **ca, int len) throw (evioException) | 
| Appends array of const char* to leaf node.   | |
| template<typename T > | |
| void | append (T tVal) throw (evioException) | 
| Appends one data element to leaf node.   | |
| template<typename T > | |
| void | append (const vector< T > &tVec) throw (evioException) | 
| Appends vector of data to leaf node.   | |
| template<typename T > | |
| void | append (const T *tBuf, int len) throw (evioException) | 
| Appends array of data to leaf node.   | |
| template<typename T > | |
| void | replace (const vector< T > &tVec) throw (evioException) | 
| Replaces data in leaf node.   | |
| template<typename T > | |
| void | replace (const T *tBuf, int len) throw (evioException) | 
| Replaces data in leaf node.   | |
| virtual evioDOMNodeP | cut (void) throw (evioException) | 
| Cleanly removes node from tree or node hierarchy.   | |
| virtual void | cutAndDelete (void) throw (evioException) | 
| Cleanly removes node from tree or node hierarchy and recursively deletes node and its contents.   | |
| virtual evioDOMNodeP | move (evioDOMNodeP newParent) throw (evioException) | 
| Changes node parent.   | |
| virtual bool | operator== (uint16_t tag) const | 
| True if node tag equals value.   | |
| virtual bool | operator!= (uint16_t tag) const | 
| True if node tag does not equal value.   | |
| bool | operator== (tagNum tnPair) const | 
| True if node tag and num same as in tagNum pair.   | |
| bool | operator!= (tagNum tnPair) const | 
| True if node tag and num NOT the same as in tagNum pair.   | |
| evioDOMNode & | operator<< (evioDOMNodeP node) throw (evioException) | 
| Adds node to container node.   | |
| evioDOMNode & | operator<< (const string &s) throw (evioException) | 
| Appends single string to leaf node.   | |
| evioDOMNode & | operator<< (const char *s) throw (evioException) | 
| Appends single const char* to leaf node.   | |
| evioDOMNode & | operator<< (char *s) throw (evioException) | 
| Appends single char* to leaf node.   | |
| template<typename T > | |
| evioDOMNode & | operator<< (T tVal) throw (evioException) | 
| Appends single data value to leaf node.   | |
| template<typename T > | |
| evioDOMNode & | operator<< (const vector< T > &tVec) throw (evioException) | 
| Appends vector of data to leaf node.   | |
| evioDOMNodeList * | getChildList (void) throw (evioException) | 
| Returns pointer to child list of container node.   | |
| evioDOMNodeListP | getChildren (void) throw (evioException) | 
| Returns copy of child list of container node.   | |
| template<class Predicate > | |
| evioDOMNodeListP | getChildren (Predicate pred) throw (evioException) | 
| Returns list of children satisfying predicate.   | |
| template<typename T > | |
| vector< T > * | getVector (void) throw (evioException) | 
| Returns pointer to leaf node vector<T> of data Must be done this way because C++ forbids templated virtual functions...ejw, dec-2006.   | |
| virtual string | toString (void) const | 
| Returns XML string listing container node contents.   | |
| virtual string | getHeader (int depth, const evioToStringConfig *config=&defaultToStringConfig) const =0 | 
| virtual string | getBody (int depth, const evioToStringConfig *config=&defaultToStringConfig) const =0 | 
| virtual string | getFooter (int depth, const evioToStringConfig *config=&defaultToStringConfig) const =0 | 
| virtual int | getSize (void) const =0 | 
| const evioDOMNodeP | getParent (void) const | 
| Returns parent evioDOMNode.   | |
| int | getContentType (void) const | 
| Returns content type.   | |
| const evioDOMTree * | getParentTree (void) const | 
| Returns parent evioDOMTree.   | |
| bool | isContainer (void) const | 
| True if node is a container node.   | |
| bool | isLeaf (void) const | 
| True if node is a leaf node.   | |
Static Public Member Functions | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num, ContainerType cType=BANK) throw (evioException) | 
| Static factory method to create container node.   | |
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num) throw (evioException) | 
| Static factory method to create empty leaf node of type T.   | |
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num, const vector< T > &tVec) throw (evioException) | 
| Static factory method to create leaf node of type T.   | |
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num, const T *t, int len) throw (evioException) | 
| Static factory method to create leaf node of type T.   | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num, const evioSerializable &o, ContainerType cType=BANK) throw (evioException) | 
| Static factory method to create container node holding evioSerializable object.   | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num, void(*f)(evioDOMNodeP c, void *userArg), void *userArg, ContainerType cType=BANK) throw (evioException) | 
| Static factory method to create container node using C function to fill container.   | |
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num, T *t, void *userArg, ContainerType cType=BANK) throw (evioException) | 
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num, T *t, void *T::*mfp(evioDOMNodeP c, void *userArg), void *userArg, ContainerType cType=BANK) throw (evioException) | 
| Static factory method to create container node filled via object method pointer.   | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num, uint16_t formatTag, const string &formatString, uint16_t dataTag, uint8_t dataNum, const vector< uint32_t > &tVec) throw (evioException) | 
| Static factory method to create composite leaf node.   | |
| static evioDOMNodeP | createEvioDOMNode (uint16_t tag, uint8_t num, uint16_t formatTag, const string &formatString, uint16_t dataTag, uint8_t dataNum, const uint32_t *t, int len) throw (evioException) | 
| Static factory method to create composite leaf node.   | |
| static evioDOMNodeP | createUnknownEvioDOMNode (uint16_t tag, uint8_t num, const vector< uint32_t > &tVec) throw (evioException) | 
| Unknown type node constructor used internally.   | |
| static evioDOMNodeP | createUnknownEvioDOMNode (uint16_t tag, uint8_t num, const uint32_t *t, int len) throw (evioException) | 
| Unknown type node constructor used internally.   | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary, ContainerType cType=BANK) throw (evioException) | 
| Static factory method to create container node.   | |
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary) throw (evioException) | 
| Static factory method to create empty leaf node of type T.   | |
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary, const vector< T > &tVec) throw (evioException) | 
| Static factory method to create leaf node of type T.   | |
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary, const T *t, int len) throw (evioException) | 
| Static factory method to create leaf node of type T.   | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary, const evioSerializable &o, ContainerType cType=BANK) throw (evioException) | 
| Static factory method to create container node holding evioSerializable object.   | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary, void(*f)(evioDOMNodeP c, void *userArg), void *userArg, ContainerType cType=BANK) throw (evioException) | 
| Static factory method to create container node using C function to fill container.   | |
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary, T *t, void *userArg, ContainerType cType=BANK) throw (evioException) | 
| Static factory method to create container node using serialize method to fill container.   | |
| template<typename T > | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary, T *t, void *T::*mfp(evioDOMNodeP c, void *userArg), void *userArg, ContainerType cType=BANK) throw (evioException) | 
| Static factory method to create container node filled via object method pointer.   | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary, uint16_t formatTag, const string &formatString, uint16_t dataTag, uint8_t dataNum, const vector< uint32_t > &tVec) throw (evioException) | 
| Static factory method to create composite leaf node.   | |
| static evioDOMNodeP | createEvioDOMNode (const string &name, const evioDictionary *dictionary, uint16_t formatTag, const string &formatString, uint16_t dataTag, uint8_t dataNum, const uint32_t *t, int len) throw (evioException) | 
| Static factory method to create composite leaf node.   | |
| static evioDOMNodeP | createUnknownEvioDOMNode (const string &name, const evioDictionary *dictionary, const vector< uint32_t > &tVec) throw (evioException) | 
| Unknown type node constructor used internally.   | |
| static evioDOMNodeP | createUnknownEvioDOMNode (const string &name, const evioDictionary *dictionary, const uint32_t *t, int len) throw (evioException) | 
| Unknown type node constructor used internally.   | |
Public Attributes | |
| uint16_t | tag | 
| The node tag, max 16-bits depending on container type.   | |
| uint8_t | num | 
| The node num, max 8 bits, used by BANK and String container types (2-word header).   | |
Protected Member Functions | |
| evioDOMNode (evioDOMNodeP parent, uint16_t tag, uint8_t num, int contentType) throw (evioException) | |
| Container node constructor used internally.   | |
| evioDOMNode (evioDOMNodeP parent, const string &name, const evioDictionary *dictionary, int contentType) throw (evioException) | |
| Container node constructor used internally.   | |
Static Protected Member Functions | |
| static string | getIndent (int depth, int size=3) | 
| Returns indent for pretty-printing, used internally.   | |
Protected Attributes | |
| evioDOMNodeP | parent | 
| Pointer to node parent.   | |
| evioDOMTree * | parentTree | 
| Pointer to parent tree if this node is the root.   | |
| int | contentType | 
| Content type.   | |
Friends | |
| class | evioDOMTree | 
| Allows evioDOMTree class to manipulate nodes.   | |
Virtual class represents an evio node in memory, concrete sub-classes evioDOMContainerNode and evioDOMLeafNode are hidden from users.
Users work with nodes via this class, and create nodes via factory method createEvioDOMNode. Factory model ensures nodes are created on heap.
| evioDOMNode::evioDOMNode | ( | evioDOMNodeP | par, | |
| uint16_t | tag, | |||
| uint8_t | num, | |||
| int | contentType | |||
| ) |   throw (evioException) [protected] | 
        
Container node constructor used internally.
| par | Parent node | |
| tag | Node tag | |
| num | Node num | |
| contentType | Container node content type | 
| evioDOMNode::evioDOMNode | ( | evioDOMNodeP | par, | |
| const string & | name, | |||
| const evioDictionary * | dictionary, | |||
| int | contentType | |||
| ) |   throw (evioException) [protected] | 
        
Container node constructor used internally.
| par | Parent node | |
| name | Bank name dictionary Dictionary to use | |
| contentType | Container node content type | 
| evioDOMNode::~evioDOMNode | ( | void | ) |  [virtual] | 
        
| void evioDOMNode::addNode | ( | evioDOMNodeP | node | ) |   throw (evioException) [virtual] | 
        
Adds node to container node.
| node | Node to be added | 
| void evio::evioDOMNode::append | ( | const T * | tBuf, | |
| int | len | |||
| ) |   throw (evioException) [inline] | 
        
Appends array of data to leaf node.
Must be done this way because C++ forbids templated virtual functions...ejw, dec-2006
| tBuf | Buffer of data of type T | |
| len | Length of buffer | 
| void evio::evioDOMNode::append | ( | const vector< T > & | tVec | ) |   throw (evioException) [inline] | 
        
Appends vector of data to leaf node.
Must be done this way because C++ forbids templated virtual functions...ejw, dec-2006
| tVec | vector<T> of data to add to leaf node | 
| void evio::evioDOMNode::append | ( | T | tVal | ) |   throw (evioException) [inline] | 
        
Appends one data element to leaf node.
Must be done this way because C++ forbids templated virtual functions...ejw, dec-2006
| tVal | Data to be added. | 
| void evioDOMNode::append | ( | char ** | ca, | |
| int | len | |||
| ) | throw (evioException) | 
Appends array of const char* to leaf node.
| sa | array of char* to append | 
| void evioDOMNode::append | ( | const char ** | ca, | |
| int | len | |||
| ) | throw (evioException) | 
Appends array of const char* to leaf node.
| sa | array of char* to append | 
References evio::evioDOMLeafNode< T >::data.
| void evioDOMNode::append | ( | char * | s | ) | throw (evioException) | 
Appends char* to leaf node.
| s | char* to append | 
| void evioDOMNode::append | ( | const char * | s | ) | throw (evioException) | 
Appends const char* to leaf node.
| s | char* to append | 
References evio::evioDOMLeafNode< T >::data.
| void evioDOMNode::append | ( | const string & | s | ) | throw (evioException) | 
Appends string to leaf node.
| s | string to append | 
References evio::evioDOMLeafNode< T >::data.
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| uint16_t | formatTag, | |||
| const string & | formatString, | |||
| uint16_t | dataTag, | |||
| uint8_t | dataNum, | |||
| const uint32_t * | t, | |||
| int | len | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create composite leaf node.
| name | Node name | |
| dictionary | Dictionary to use | |
| formatTag | Format tag | |
| formatString | Format string | |
| dataTag | Data tag | |
| dataNum | Data num | |
| t | Pointer to array of uint32_t data | |
| len | Length of array | 
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| uint16_t | formatTag, | |||
| const string & | formatString, | |||
| uint16_t | dataTag, | |||
| uint8_t | dataNum, | |||
| const vector< uint32_t > & | tVec | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create composite leaf node.
| name | Node name | |
| dictionary | Dictionary to use | |
| formatTag | Format tag | |
| formatString | Format string | |
| dataTag | Data tag | |
| dataNum | Data num | |
| tVec | vector<uint32_t> of data | 
| evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| T * | t, | |||
| void *T::* | mfpevioDOMNodeP c, void *userArg, | |||
| void * | userArg, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [inline, static] | 
        
Static factory method to create container node filled via object method pointer.
| name | Node name | |
| dictionary | Dictionary to use | |
| t | Pointer to object | |
| mfp | Pointer to object method used to fill container | |
| userArg | User arg passed to object method | |
| cType | Container node content type | 
| evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| T * | t, | |||
| void * | userArg, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [inline, static] | 
        
Static factory method to create container node using serialize method to fill container.
| name | Node name | |
| dictionary | Dictionary to use | |
| t | Pointer to object having serialize method | |
| userArg | User arg passed to serialize method | |
| cType | Container node content type | 
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| void(*)(evioDOMNodeP c, void *userArg) | f, | |||
| void * | userArg, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create container node using C function to fill container.
| name | Node name | |
| dictionary | Dictionary to use | |
| f | C function that fills container node | |
| userArg | User arg passed to C function | |
| cType | Container node content type | 
References evio::evioDictionary::getTagNum().
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| const evioSerializable & | o, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create container node holding evioSerializable object.
| name | Node name | |
| dictionary | Dictionary to use | |
| o | evioSerializable object | |
| cType | Container node content type | 
| evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| const T * | t, | |||
| int | len | |||
| ) |   throw (evioException) [inline, static] | 
        
Static factory method to create leaf node of type T.
| name | Node name | |
| dictionary | Dictionary to use | |
| t | Pointer to array containg data of type T | |
| len | Length of array | 
| evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| const vector< T > & | tVec | |||
| ) |   throw (evioException) [inline, static] | 
        
Static factory method to create leaf node of type T.
| name | Node name | |
| dictionary | Dictionary to use | |
| tVec | vector<T> of data | 
| evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary | |||
| ) |   throw (evioException) [inline, static] | 
        
Static factory method to create empty leaf node of type T.
| name | Node name | |
| dictionary | Dictionary to use | 
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create container node.
| name | Node name | |
| dictionary | Dictionary to use | |
| cType | Container node content type | 
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| uint16_t | formatTag, | |||
| const string & | formatString, | |||
| uint16_t | dataTag, | |||
| uint8_t | dataNum, | |||
| const uint32_t * | t, | |||
| int | len | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create composite leaf node.
| tag | Node tag | |
| num | Node num | |
| formatTag | Format tag | |
| formatString | Format string | |
| dataTag | Data tag | |
| dataNum | Data num | |
| t | Pointer to uint32_t data | |
| len | Length of data array | 
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| uint16_t | formatTag, | |||
| const string & | formatString, | |||
| uint16_t | dataTag, | |||
| uint8_t | dataNum, | |||
| const vector< uint32_t > & | tVec | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create composite leaf node.
| tag | Node tag | |
| num | Node num | |
| formatTag | Format tag | |
| formatString | Format string | |
| dataTag | Data tag | |
| dataNum | Data num | |
| tVec | vector<uint32_t> of data | 
| evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| T * | t, | |||
| void *T::* | mfpevioDOMNodeP c, void *userArg, | |||
| void * | userArg, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [inline, static] | 
        
Static factory method to create container node filled via object method pointer.
| tag | Node tag | |
| num | Node num | |
| t | Pointer to object | |
| mfp | Pointer to object method used to fill container | |
| userArg | User arg passed to object method | |
| cType | Container node content type | 
| static evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| T * | t, | |||
| void * | userArg, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [inline, static] | 
        
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| void(*)(evioDOMNodeP c, void *userArg) | f, | |||
| void * | userArg, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create container node using C function to fill container.
| tag | Node tag | |
| num | Node num | |
| f | C function that fills container node | |
| userArg | User arg passed to C function | |
| cType | Container node content type | 
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| const evioSerializable & | o, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create container node holding evioSerializable object.
| tag | Node tag | |
| num | Node num | |
| o | evioSerializable object | |
| cType | Container node content type | 
| evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| const T * | t, | |||
| int | len | |||
| ) |   throw (evioException) [inline, static] | 
        
Static factory method to create leaf node of type T.
| tag | Node tag | |
| num | Node num | |
| t | Pointer to array containg data of type T | |
| len | Length of array | 
| evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| const vector< T > & | tVec | |||
| ) |   throw (evioException) [inline, static] | 
        
Static factory method to create leaf node of type T.
| tag | Node tag | |
| num | Node num | |
| tVec | vector<T> of data | 
| evioDOMNodeP evio::evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num | |||
| ) |   throw (evioException) [inline, static] | 
        
Static factory method to create empty leaf node of type T.
| tag | Node tag | |
| num | Node num | 
| evioDOMNodeP evioDOMNode::createEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| ContainerType |  cType = BANK | |||
| ) |   throw (evioException) [static] | 
        
Static factory method to create container node.
| tag | Node tag | |
| num | Node num | |
| cType | Container node content type | 
Referenced by evio::evioDOMTree::addBank(), evio::evioDOMTree::createNode(), createUnknownEvioDOMNode(), and evio::evioDOMTree::evioDOMTree().
| evioDOMNodeP evioDOMNode::createUnknownEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| const uint32_t * | t, | |||
| int | len | |||
| ) |   throw (evioException) [static] | 
        
Unknown type node constructor used internally.
| name | Name | |
| dictionary | Dictionary | |
| t | Pointer to array of uint32_t | |
| len | Length of array | 
References contentType, and createEvioDOMNode().
| evioDOMNodeP evioDOMNode::createUnknownEvioDOMNode | ( | const string & | name, | |
| const evioDictionary * | dictionary, | |||
| const vector< uint32_t > & | tVec | |||
| ) |   throw (evioException) [static] | 
        
Unknown type node constructor used internally.
| name | Name | |
| dictionary | Dictionary | |
| tVec | Vector of uint32_t | 
References contentType, and createEvioDOMNode().
| evioDOMNodeP evioDOMNode::createUnknownEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| const uint32_t * | t, | |||
| int | len | |||
| ) |   throw (evioException) [static] | 
        
Unknown type node constructor used internally.
| tag | Tag | |
| num | Num | |
| t | Pointer to uint32_t array | |
| len | Length of array | 
References contentType, and createEvioDOMNode().
| evioDOMNodeP evioDOMNode::createUnknownEvioDOMNode | ( | uint16_t | tag, | |
| uint8_t | num, | |||
| const vector< uint32_t > & | tVec | |||
| ) |   throw (evioException) [static] | 
        
Unknown type node constructor used internally.
| tag | Tag | |
| num | Num | |
| tVec | Vector of uint32_t | 
References contentType, and createEvioDOMNode().
| evioDOMNodeP evioDOMNode::cut | ( | void | ) |   throw (evioException) [virtual] | 
        
Cleanly removes node from tree or node hierarchy.
References evio::evioDOMContainerNode::childList, parent, parentTree, and evio::evioDOMTree::root.
Referenced by cutAndDelete().
| void evioDOMNode::cutAndDelete | ( | void | ) |   throw (evioException) [virtual] | 
        
Cleanly removes node from tree or node hierarchy and recursively deletes node and its contents.
References cut().
Referenced by evio::evioDOMTree::clear(), and evio::evioDOMTree::~evioDOMTree().
| virtual string evio::evioDOMNode::getBody | ( | int | depth, | |
| const evioToStringConfig * |  config = &defaultToStringConfig | |||
| ) |  const [pure virtual] | 
        
| evioDOMNodeList * evioDOMNode::getChildList | ( | void | ) | throw (evioException) | 
Returns pointer to child list of container node.
References evio::evioDOMContainerNode::childList, and isContainer().
Referenced by getChildren().
| evioDOMNodeListP evio::evioDOMNode::getChildren | ( | Predicate | pred | ) |   throw (evioException) [inline] | 
        
Returns list of children satisfying predicate.
| pred | Predicate | 
| evioDOMNodeListP evioDOMNode::getChildren | ( | void | ) | throw (evioException) | 
Returns copy of child list of container node.
List must be deleted by user
References getChildList().
| int evioDOMNode::getContentType | ( | void | ) | const | 
Returns content type.
Referenced by evio::evioDOMContainerNode::getFooter(), and evio::evioDOMContainerNode::getHeader().
| virtual string evio::evioDOMNode::getFooter | ( | int | depth, | |
| const evioToStringConfig * |  config = &defaultToStringConfig | |||
| ) |  const [pure virtual] | 
        
Implemented in evio::evioDOMContainerNode, evio::evioDOMLeafNode< T >, and evio::evioDOMLeafNode< uint32_t >.
Referenced by toString().
| virtual string evio::evioDOMNode::getHeader | ( | int | depth, | |
| const evioToStringConfig * |  config = &defaultToStringConfig | |||
| ) |  const [pure virtual] | 
        
Implemented in evio::evioDOMContainerNode, evio::evioDOMLeafNode< T >, and evio::evioDOMLeafNode< uint32_t >.
Referenced by toString().
| string evioDOMNode::getIndent | ( | int | depth, | |
| int |  size = 3 | |||
| ) |  [static, protected] | 
        
Returns indent for pretty-printing, used internally.
| depth | Depth level | |
| size | Size of indent per level | 
Referenced by evio::evioCompositeDOMLeafNode::getBody(), evio::evioDOMContainerNode::getFooter(), and evio::evioDOMContainerNode::getHeader().
| const evioDOMNodeP evioDOMNode::getParent | ( | void | ) | const | 
| const evioDOMTree * evioDOMNode::getParentTree | ( | void | ) | const | 
| virtual int evio::evioDOMNode::getSize | ( | void | ) |  const [pure virtual] | 
        
Implemented in evio::evioDOMContainerNode, evio::evioDOMLeafNode< T >, evio::evioCompositeDOMLeafNode, and evio::evioDOMLeafNode< uint32_t >.
Referenced by toString().
| vector< T > * evio::evioDOMNode::getVector | ( | void | ) |   throw (evioException) [inline] | 
        
Returns pointer to leaf node vector<T> of data Must be done this way because C++ forbids templated virtual functions...ejw, dec-2006.
| bool evioDOMNode::isContainer | ( | void | ) | const | 
| bool evioDOMNode::isLeaf | ( | void | ) | const | 
| evioDOMNodeP evioDOMNode::move | ( | evioDOMNodeP | newParent | ) |   throw (evioException) [virtual] | 
        
Changes node parent.
| newParent | New parent | 
References evio::evioDOMContainerNode::childList.
| bool evioDOMNode::operator!= | ( | tagNum | tnPair | ) | const | 
True if node tag and num NOT the same as in tagNum pair.
| tnPair | tagNum pair to compare to | 
| bool evioDOMNode::operator!= | ( | uint16_t | tg | ) |  const [virtual] | 
        
True if node tag does not equal value.
| tg | Value to compare to | 
| evioDOMNode & evio::evioDOMNode::operator<< | ( | const vector< T > & | tVec | ) |   throw (evioException) [inline] | 
        
Appends vector of data to leaf node.
| tVec | vector<T> of data to add to leaf node | 
| evioDOMNode & evio::evioDOMNode::operator<< | ( | T | tVal | ) |   throw (evioException) [inline] | 
        
Appends single data value to leaf node.
| tVal | Data to be added | 
| evioDOMNode & evioDOMNode::operator<< | ( | char * | s | ) | throw (evioException) | 
Appends single char* to leaf node.
| s | char* to be added | 
| evioDOMNode & evioDOMNode::operator<< | ( | const char * | s | ) | throw (evioException) | 
Appends single const char* to leaf node.
| s | char* to be added | 
| evioDOMNode & evioDOMNode::operator<< | ( | const string & | s | ) | throw (evioException) | 
Appends single string to leaf node.
| sRef | String to be added | 
| evioDOMNode & evioDOMNode::operator<< | ( | evioDOMNodeP | node | ) | throw (evioException) | 
Adds node to container node.
| node | Node to be added | 
| bool evioDOMNode::operator== | ( | tagNum | tnPair | ) | const | 
True if node tag and num same as in tagNum pair.
| tnPair | tagNum pair to compare to | 
| bool evioDOMNode::operator== | ( | uint16_t | tg | ) |  const [virtual] | 
        
True if node tag equals value.
| tg | Value to compare to | 
| void evio::evioDOMNode::replace | ( | const T * | tBuf, | |
| int | len | |||
| ) |   throw (evioException) [inline] | 
        
Replaces data in leaf node.
Must be done this way because C++ forbids templated virtual functions...ejw, dec-2006
| tBuf | Buffer of data of type T | |
| len | Length of buffer | 
| void evio::evioDOMNode::replace | ( | const vector< T > & | tVec | ) |   throw (evioException) [inline] | 
        
Replaces data in leaf node.
Must be done this way because C++ forbids templated virtual functions...ejw, dec-2006
| tVec | vector<T> of data | 
| string evioDOMNode::toString | ( | void | ) |  const [virtual] | 
        
Returns XML string listing container node contents.
References getFooter(), getHeader(), getSize(), and isLeaf().
friend class evioDOMTree [friend] | 
        
Allows evioDOMTree class to manipulate nodes.
int evio::evioDOMNode::contentType [protected] | 
        
Content type.
Referenced by createUnknownEvioDOMNode().
| uint8_t evio::evioDOMNode::num | 
The node num, max 8 bits, used by BANK and String container types (2-word header).
Referenced by evio::evioToStringConfig::skipNode().
evioDOMNodeP evio::evioDOMNode::parent [protected] | 
        
Pointer to node parent.
Referenced by evio::evioDOMTree::addBank(), cut(), evio::evioDOMContainerNode::getFooter(), evio::evioDOMContainerNode::getHeader(), and getParent().
evioDOMTree* evio::evioDOMNode::parentTree [protected] | 
        
Pointer to parent tree if this node is the root.
Referenced by cut(), evio::evioDOMTree::evioDOMTree(), and getParentTree().
| uint16_t evio::evioDOMNode::tag | 
The node tag, max 16-bits depending on container type.
Referenced by evio::evioToStringConfig::skipNode().
 1.6.1