Teuchos - Trilinos Tools Package  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Related Functions | List of all members
Teuchos::XMLObject Class Reference

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>

Inheritance diagram for Teuchos::XMLObject:
Teuchos::XMLTestNode

Public Member Functions

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

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

Detailed Description

Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object, allowing storage by reference.

Definition at line 62 of file Teuchos_XMLObject.hpp.

Constructor & Destructor Documentation

Teuchos::XMLObject::XMLObject ( )
inline

Empty constructor.

Definition at line 69 of file Teuchos_XMLObject.hpp.

Teuchos::XMLObject::XMLObject ( const std::string &  tag)

Construct using a node labeled by tag.

Definition at line 49 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 54 of file Teuchos_XMLObject.cpp.

Member Function Documentation

XMLObject Teuchos::XMLObject::deepCopy ( ) const

Make a deep copy of this object.

Definition at line 59 of file Teuchos_XMLObject.cpp.

const std::string & Teuchos::XMLObject::getTag ( ) const

Return the tag of the current node.

Definition at line 69 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 77 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 85 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 93 of file Teuchos_XMLObject.cpp.

double Teuchos::XMLObject::getRequiredDouble ( const std::string &  name) const
inline

Get a required attribute, returning it as a double.

Definition at line 105 of file Teuchos_XMLObject.hpp.

int Teuchos::XMLObject::getRequiredInt ( const std::string &  name) const
inline

Get a required attribute, returning it as an int.

Definition at line 109 of file Teuchos_XMLObject.hpp.

template<class T >
T Teuchos::XMLObject::getRequired ( const std::string &  name) const
inline

Get a required attribute, returning it as T.

Definition at line 114 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 130 of file Teuchos_XMLObject.cpp.

template<class T >
T Teuchos::XMLObject::getWithDefault ( const std::string &  name,
const T &  defaultValue 
) const
inline

Get an attribute, assigning a default value if the requested attribute does not exist.

Definition at line 127 of file Teuchos_XMLObject.hpp.

int Teuchos::XMLObject::numChildren ( ) const

Return the number of child nodes owned by this node.

Definition at line 164 of file Teuchos_XMLObject.cpp.

const XMLObject & Teuchos::XMLObject::getChild ( int  i) const

Return the i-th child node.

Definition at line 172 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 179 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 190 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 198 of file Teuchos_XMLObject.cpp.

std::string Teuchos::XMLObject::toString ( ) const

Represent this node and its children as a std::string.

Definition at line 206 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 214 of file Teuchos_XMLObject.cpp.

std::string Teuchos::XMLObject::header ( ) const

Write the header for this object to a std::string.

Definition at line 222 of file Teuchos_XMLObject.cpp.

std::string Teuchos::XMLObject::terminatedHeader ( ) const

Write the header for this object to a std::string.

Definition at line 230 of file Teuchos_XMLObject.cpp.

std::string Teuchos::XMLObject::footer ( ) const

Write the footer for this object to a std::string.

Definition at line 238 of file Teuchos_XMLObject.cpp.

bool Teuchos::XMLObject::isEmpty ( ) const
inline

Find out if a node is empty.

Definition at line 169 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 246 of file Teuchos_XMLObject.cpp.

void Teuchos::XMLObject::addDouble ( const std::string &  name,
double  val 
)
inline

Add a double as an attribute.

Definition at line 179 of file Teuchos_XMLObject.hpp.

void Teuchos::XMLObject::addInt ( const std::string &  name,
int  val 
)
inline

Add an int as an attribute.

Definition at line 183 of file Teuchos_XMLObject.hpp.

void Teuchos::XMLObject::addBool ( const std::string &  name,
bool  val 
)
inline

Add a bool as an attribute.

Definition at line 187 of file Teuchos_XMLObject.hpp.

template<class T >
void Teuchos::XMLObject::addAttribute ( const std::string &  name,
value 
)
inline

Lookup whether or not Doubles are allowed.

Definition at line 193 of file Teuchos_XMLObject.hpp.

void Teuchos::XMLObject::addChild ( const XMLObject child)

Add a child node to the node.

Definition at line 255 of file Teuchos_XMLObject.cpp.

void Teuchos::XMLObject::addContent ( const std::string &  contentLine)

Add a line of character content.

Definition at line 263 of file Teuchos_XMLObject.cpp.

Friends And Related Function Documentation

std::ostream & operator<< ( std::ostream &  os,
const XMLObject xml 
)
related

Write XMLObject to os stream.

Definition at line 250 of file Teuchos_XMLObject.hpp.

std::string toString ( const XMLObject xml)
related

Write XMLObject to std::string.

Definition at line 261 of file Teuchos_XMLObject.hpp.


The documentation for this class was generated from the following files: