10 #ifndef TEUCHOS_XMLOBJECTIMPLEM_H
11 #define TEUCHOS_XMLOBJECTIMPLEM_H
42 void addAttribute(
const std::string& name,
const std::string& value);
48 void addContent(
const std::string& contentLine);
51 const std::string&
getTag()
const {
return tag_;}
55 {
return attributes_.find(name) != attributes_.end();}
59 {
return (*(attributes_.find(name))).second;}
62 int numChildren()
const ;
78 content_[i].append(str);
82 void removeContentLine(
const size_t& i);
85 void print(std::ostream& os,
int indent)
const ;
91 std::string header(
bool strictXML =
false)
const ;
94 std::string terminatedHeader(
bool strictXML =
false)
const ;
97 std::string
footer()
const {
return "</" + getTag() +
">";}
102 void printContent(std::ostream& os,
int indent)
const ;
105 static std::string XMLifyAttVal(
const std::string &attval);
bool hasAttribute(const std::string &name) const
Determine whether an attribute exists.
void appendContentLine(const size_t &i, const std::string &str)
Add string at the the end of a content line.
Array< std::string > content_
const Map & getAttributes() const
Get all attributes.
std::string footer() const
Write the footer.
const std::string & getAttribute(const std::string &name) const
Look up an attribute by name.
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object...
std::string toString(const HashSet< Key > &h)
Teuchos::map< std::string, std::string > Map
int numContentLines() const
Get the number of content lines.
#define TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT
Provides std::map class for deficient platforms.
Templated array class derived from the STL std::vector.
Array< XMLObject > children_
The XMLObjectImplem class takes care of the low-level implementation details of XMLObject.
const std::string & getContentLine(int i) const
Look up a content line by index.
const std::string & getTag() const
Return the tag std::string.
Reference-counted pointer class and non-member templated function implementations.
Replacement for std::vector that is compatible with the Teuchos Memory Management classes...