Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
|
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object, allowing storage by reference. More...
#include <Teuchos_XMLObject.hpp>
Public Member Functions | |
void | appendContentLine (const size_t &i, const std::string &str) |
void | removeContentLine (const size_t &i) |
Protected Attributes | |
RCP< XMLObjectImplem > | ptr_ |
Related Functions | |
(Note that these are not member functions.) | |
std::ostream & | operator<< (std::ostream &os, const XMLObject &xml) |
Write XMLObject to os stream. More... | |
std::string | toString (const XMLObject &xml) |
Write XMLObject to std::string. More... | |
Constructors | |
XMLObject () | |
Empty constructor. More... | |
XMLObject (const std::string &tag) | |
Construct using a node labeled by tag. More... | |
XMLObject (XMLObjectImplem *ptr) | |
Construct with a pointer to the low-level representation. More... | |
Copy methods | |
XMLObject | deepCopy () const |
Make a deep copy of this object. More... | |
Data Access methods | |
const std::string & | getTag () const |
Return the tag of the current node. More... | |
bool | hasAttribute (const std::string &name) const |
Find out if the current node has an attribute of the specified name. More... | |
const std::string & | getAttribute (const std::string &name) const |
Return the value of the attribute with the specified name. More... | |
const std::string & | getRequired (const std::string &name) const |
Get an attribute, throwing an std::exception if it is not found. More... | |
double | getRequiredDouble (const std::string &name) const |
Get a required attribute, returning it as a double. More... | |
int | getRequiredInt (const std::string &name) const |
Get a required attribute, returning it as an int. More... | |
template<class T > | |
T | getRequired (const std::string &name) const |
Get a required attribute, returning it as T. More... | |
bool | getRequiredBool (const std::string &name) const |
Get a required attribute, returning it as a bool. More... | |
template<class T > | |
T | getWithDefault (const std::string &name, const T &defaultValue) const |
Get an attribute, assigning a default value if the requested attribute does not exist. More... | |
int | numChildren () const |
Return the number of child nodes owned by this node. More... | |
const XMLObject & | getChild (int i) const |
Return the i-th child node. More... | |
int | findFirstChild (std::string tagName) const |
Returns the index of the first child found with the given tag name. Returns -1 if no child is found. More... | |
int | numContentLines () const |
Return the number of lines of character content stored in this node. More... | |
const std::string & | getContentLine (int i) const |
Return the i-th line of character content stored in this node. More... | |
std::string | toString () const |
Represent this node and its children as a std::string. More... | |
void | print (std::ostream &os, int indent) const |
Print this node and its children to stream with the given indentation. More... | |
std::string | header () const |
Write the header for this object to a std::string. More... | |
std::string | terminatedHeader () const |
Write the header for this object to a std::string. More... | |
std::string | footer () const |
Write the footer for this object to a std::string. More... | |
bool | isEmpty () const |
Find out if a node is empty. More... | |
void | checkTag (const std::string &expected) const |
Check that a tag is equal to an expected std::string. More... | |
Tree-Assembly methods | |
void | addDouble (const std::string &name, double val) |
Add a double as an attribute. More... | |
void | addInt (const std::string &name, int val) |
Add an int as an attribute. More... | |
void | addBool (const std::string &name, bool val) |
Add a bool as an attribute. More... | |
template<class T > | |
void | addAttribute (const std::string &name, T value) |
Lookup whether or not Doubles are allowed. More... | |
void | addChild (const XMLObject &child) |
Add a child node to the node. More... | |
void | addContent (const std::string &contentLine) |
Add a line of character content. More... | |
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object, allowing storage by reference.
Definition at line 30 of file Teuchos_XMLObject.hpp.
|
inline |
Empty constructor.
Definition at line 37 of file Teuchos_XMLObject.hpp.
Teuchos::XMLObject::XMLObject | ( | const std::string & | tag | ) |
Construct using a node labeled by tag.
Definition at line 17 of file Teuchos_XMLObject.cpp.
Teuchos::XMLObject::XMLObject | ( | XMLObjectImplem * | ptr | ) |
Construct with a pointer to the low-level representation.
This is used to allow construction of an XMLObject from the XMLObjectImplem* return value of ExceptionBase::toXML().
Definition at line 22 of file Teuchos_XMLObject.cpp.
XMLObject Teuchos::XMLObject::deepCopy | ( | ) | const |
Make a deep copy of this object.
Definition at line 27 of file Teuchos_XMLObject.cpp.
const std::string & Teuchos::XMLObject::getTag | ( | ) | const |
Return the tag of the current node.
Definition at line 37 of file Teuchos_XMLObject.cpp.
bool Teuchos::XMLObject::hasAttribute | ( | const std::string & | name | ) | const |
Find out if the current node has an attribute of the specified name.
Definition at line 45 of file Teuchos_XMLObject.cpp.
const std::string & Teuchos::XMLObject::getAttribute | ( | const std::string & | name | ) | const |
Return the value of the attribute with the specified name.
Definition at line 53 of file Teuchos_XMLObject.cpp.
TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT double Teuchos::XMLObject::getRequired< double > | ( | const std::string & | name | ) | const |
Get an attribute, throwing an std::exception if it is not found.
Definition at line 61 of file Teuchos_XMLObject.cpp.
|
inline |
Get a required attribute, returning it as a double.
Definition at line 73 of file Teuchos_XMLObject.hpp.
|
inline |
Get a required attribute, returning it as an int.
Definition at line 77 of file Teuchos_XMLObject.hpp.
|
inline |
Get a required attribute, returning it as T.
Definition at line 82 of file Teuchos_XMLObject.hpp.
bool Teuchos::XMLObject::getRequiredBool | ( | const std::string & | name | ) | const |
Get a required attribute, returning it as a bool.
Definition at line 98 of file Teuchos_XMLObject.cpp.
|
inline |
Get an attribute, assigning a default value if the requested attribute does not exist.
Definition at line 95 of file Teuchos_XMLObject.hpp.
int Teuchos::XMLObject::numChildren | ( | ) | const |
Return the number of child nodes owned by this node.
Definition at line 132 of file Teuchos_XMLObject.cpp.
const XMLObject & Teuchos::XMLObject::getChild | ( | int | i | ) | const |
Return the i-th child node.
Definition at line 140 of file Teuchos_XMLObject.cpp.
int Teuchos::XMLObject::findFirstChild | ( | std::string | tagName | ) | const |
Returns the index of the first child found with the given tag name. Returns -1 if no child is found.
Definition at line 147 of file Teuchos_XMLObject.cpp.
int Teuchos::XMLObject::numContentLines | ( | ) | const |
Return the number of lines of character content stored in this node.
Definition at line 158 of file Teuchos_XMLObject.cpp.
const std::string & Teuchos::XMLObject::getContentLine | ( | int | i | ) | const |
Return the i-th line of character content stored in this node.
Definition at line 166 of file Teuchos_XMLObject.cpp.
std::string Teuchos::XMLObject::toString | ( | ) | const |
Represent this node and its children as a std::string.
Definition at line 174 of file Teuchos_XMLObject.cpp.
void Teuchos::XMLObject::print | ( | std::ostream & | os, |
int | indent | ||
) | const |
Print this node and its children to stream with the given indentation.
Definition at line 182 of file Teuchos_XMLObject.cpp.
std::string Teuchos::XMLObject::header | ( | ) | const |
Write the header for this object to a std::string.
Definition at line 190 of file Teuchos_XMLObject.cpp.
std::string Teuchos::XMLObject::terminatedHeader | ( | ) | const |
Write the header for this object to a std::string.
Definition at line 198 of file Teuchos_XMLObject.cpp.
std::string Teuchos::XMLObject::footer | ( | ) | const |
Write the footer for this object to a std::string.
Definition at line 206 of file Teuchos_XMLObject.cpp.
|
inline |
Find out if a node is empty.
Definition at line 137 of file Teuchos_XMLObject.hpp.
void Teuchos::XMLObject::checkTag | ( | const std::string & | expected | ) | const |
Check that a tag is equal to an expected std::string.
Definition at line 214 of file Teuchos_XMLObject.cpp.
|
inline |
Add a double as an attribute.
Definition at line 147 of file Teuchos_XMLObject.hpp.
|
inline |
Add an int as an attribute.
Definition at line 151 of file Teuchos_XMLObject.hpp.
|
inline |
Add a bool as an attribute.
Definition at line 155 of file Teuchos_XMLObject.hpp.
|
inline |
Lookup whether or not Doubles are allowed.
Definition at line 161 of file Teuchos_XMLObject.hpp.
void Teuchos::XMLObject::addChild | ( | const XMLObject & | child | ) |
Add a child node to the node.
Definition at line 223 of file Teuchos_XMLObject.cpp.
void Teuchos::XMLObject::addContent | ( | const std::string & | contentLine | ) |
Add a line of character content.
Definition at line 231 of file Teuchos_XMLObject.cpp.
|
inline |
Definition at line 175 of file Teuchos_XMLObject.hpp.
|
inline |
Definition at line 179 of file Teuchos_XMLObject.hpp.
|
related |
Write XMLObject to os
stream.
Definition at line 218 of file Teuchos_XMLObject.hpp.
|
related |
Write XMLObject to std::string.
Definition at line 229 of file Teuchos_XMLObject.hpp.
|
protected |
Definition at line 190 of file Teuchos_XMLObject.hpp.