Teuchos Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | 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:
Inheritance graph
[legend]

Public Member Functions

void appendContentLine (const size_t &i, const std::string &str)
 
void removeContentLine (const size_t &i)
 

Protected Attributes

RCP< XMLObjectImplemptr_
 

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

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 30 of file Teuchos_XMLObject.hpp.

Constructor & Destructor Documentation

Teuchos::XMLObject::XMLObject ( )
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.

Member Function Documentation

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.

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

Get a required attribute, returning it as a double.

Definition at line 73 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 77 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 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.

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

bool Teuchos::XMLObject::isEmpty ( ) const
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.

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

Add a double as an attribute.

Definition at line 147 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 151 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 155 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 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.

void Teuchos::XMLObject::appendContentLine ( const size_t &  i,
const std::string &  str 
)
inline

Definition at line 175 of file Teuchos_XMLObject.hpp.

void Teuchos::XMLObject::removeContentLine ( const size_t &  i)
inline

Definition at line 179 of file Teuchos_XMLObject.hpp.

Friends And Related Function Documentation

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

Write XMLObject to os stream.

Definition at line 218 of file Teuchos_XMLObject.hpp.

std::string toString ( const XMLObject xml)
related

Write XMLObject to std::string.

Definition at line 229 of file Teuchos_XMLObject.hpp.

Member Data Documentation

RCP<XMLObjectImplem> Teuchos::XMLObject::ptr_
protected

Definition at line 190 of file Teuchos_XMLObject.hpp.


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