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().