RAII writing a nodes start/end tag.
More...
#include <base/Xml.h>
|
| NON_COPYABLE_BUT_MOVE (Node) |
|
| Node (std::ostream &out_r, std::string name_r, const std::initializer_list< Attr > &attrs_r={}) |
| Ctor taking nodename and attribute list.
|
|
| Node (std::ostream &out_r, std::string name_r, Attr attr_r) |
| Convenience ctor for one attribute pair.
|
|
| Node (std::ostream &out_r, std::string name_r, OptionalContentType, const std::initializer_list< Attr > &attrs_r={}) |
| Optional content ctor taking nodename and attribute list.
|
|
| Node (std::ostream &out_r, std::string name_r, OptionalContentType, Attr attr_r) |
| Optional content Convenience ctor for one attribute pair.
|
|
| ~Node () |
| Dtor wrting end tag.
|
|
Node & | addAttr (const std::initializer_list< Attr > &attrs_r={}) |
| Add additional attributes (requires OptionalContentType)
|
|
Node & | addAttr (const Attr &attr_r) |
|
std::ostream & | operator* () |
| Return the output stream.
|
|
|
(Note that these are not member functions.)
|
std::ostream & | node (std::ostream &out_r, const std::string &name_r, const std::initializer_list< Node::Attr > &attrs_r={}) |
| Write a leaf node without PCDATA.
|
|
RAII writing a nodes start/end tag.
{
Node node( std::cout,
"node", {
"attr",
"val" } );
*
node <<
"write nodes body...."
}
RAII writing a nodes start/end tag.
std::ostream & node(std::ostream &out_r, const std::string &name_r, const std::initializer_list< Node::Attr > &attrs_r={})
Write a leaf node without PCDATA.
- Note
- If the optionalContent flag is passed to the
ctor
, the start node is kept open, until the first call to operator*. The start node is closed before returning the stream. {
}
{
*
node <<
"write nodes body...."
}
static constexpr OptionalContentType optionalContent
-
If the nodename is empty or starts with an
!
, a comment is written.
Definition at line 84 of file Xml.h.
◆ Attr
Definition at line 87 of file Xml.h.
◆ Node() [1/4]
zypp::xmlout::Node::Node |
( |
std::ostream & |
out_r, |
|
|
std::string |
name_r, |
|
|
const std::initializer_list< Attr > & |
attrs_r = {} |
|
) |
| |
|
inline |
Ctor taking nodename and attribute list.
Definition at line 93 of file Xml.h.
◆ Node() [2/4]
zypp::xmlout::Node::Node |
( |
std::ostream & |
out_r, |
|
|
std::string |
name_r, |
|
|
Attr |
attr_r |
|
) |
| |
|
inline |
Convenience ctor for one attribute pair.
Definition at line 98 of file Xml.h.
◆ Node() [3/4]
zypp::xmlout::Node::Node |
( |
std::ostream & |
out_r, |
|
|
std::string |
name_r, |
|
|
OptionalContentType |
, |
|
|
const std::initializer_list< Attr > & |
attrs_r = {} |
|
) |
| |
|
inline |
Optional content ctor taking nodename and attribute list.
Definition at line 103 of file Xml.h.
◆ Node() [4/4]
Optional content Convenience ctor for one attribute pair.
Definition at line 108 of file Xml.h.
◆ ~Node()
zypp::xmlout::Node::~Node |
( |
| ) |
|
|
inline |
Dtor wrting end tag.
Definition at line 113 of file Xml.h.
◆ NON_COPYABLE_BUT_MOVE()
zypp::xmlout::Node::NON_COPYABLE_BUT_MOVE |
( |
Node |
| ) |
|
◆ addAttr() [1/2]
Node & zypp::xmlout::Node::addAttr |
( |
const std::initializer_list< Attr > & |
attrs_r = {} | ) |
|
|
inline |
◆ addAttr() [2/2]
Node & zypp::xmlout::Node::addAttr |
( |
const Attr & |
attr_r | ) |
|
|
inline |
◆ operator*()
std::ostream & zypp::xmlout::Node::operator* |
( |
| ) |
|
|
inline |
Return the output stream.
Definition at line 146 of file Xml.h.
◆ printStart()
void zypp::xmlout::Node::printStart |
( |
const std::initializer_list< Attr > & |
attrs_r | ) |
|
|
inlineprivate |
◆ printAttr()
void zypp::xmlout::Node::printAttr |
( |
const std::initializer_list< Attr > & |
attrs_r | ) |
|
|
inlineprivate |
◆ isComment()
bool zypp::xmlout::Node::isComment |
( |
| ) |
const |
|
inlineprivate |
◆ node()
std::ostream & node |
( |
std::ostream & |
out_r, |
|
|
const std::string & |
name_r, |
|
|
const std::initializer_list< Node::Attr > & |
attrs_r = {} |
|
) |
| |
|
related |
Write a leaf node without PCDATA.
Definition at line 197 of file Xml.h.
◆ optionalContent
Definition at line 90 of file Xml.h.
◆ _out
std::ostream& zypp::xmlout::Node::_out |
|
private |
◆ _name
std::string zypp::xmlout::Node::_name |
|
private |
◆ _hasContent
bool zypp::xmlout::Node::_hasContent |
|
private |
The documentation for this class was generated from the following files: