libzypp 17.37.10

zypp::parser::XmlString Class Reference

xmlChar * wrapper. More...

`#include <zypp/parser/xml/XmlString.h>`

## Classes
struct | Deleter
| shared_ptr custom deleter calling `xmlFree`. More...

## Public Types
enum | OnDelete { NOFREE , FREE }
| Dtor policy. More...

## Public Member Functions
| XmlString (const xmlChar *const xmlstr_r=NULL, OnDelete ondelete_r=NOFREE)
| Ctor from xmlChar.
const xmlChar * | get () const
| Access the xmlChar *.
| operator const xmlChar * () const
| Implicit conversion to xmlChar *.
const char * | c_str () const
| Explicit conversion to const char *.
std::string | asString () const
| Explicit conversion to std::string.
bool | operator== (const std::string &rhs) const
bool | operator== (const char *const rhs) const
bool | operator== (const XmlString &rhs) const
bool | operator!= (const std::string &rhs) const
bool | operator!= (const char *const rhs) const
bool | operator!= (const XmlString &rhs) const

## Private Attributes
shared_ptr< const xmlChar > | _xmlstr
| Wraps the xmlChar *.

## Related Symbols
(Note that these are not member symbols.)
std::ostream & | operator<< (std::ostream &str, const XmlString &obj) ZYPP_API
| Stream output.

## Detailed Description

xmlChar * wrapper.

Common handling of xmlChar * that do or do not need to be freed. If the wraped xmlChar * needs to be freed by calling `xmlFree`, pass `FREE` as 2nd argument to the ctor.

Definition at line 40 of file XmlString.h.

## Member Enumeration Documentation

## ◆ OnDelete

enum zypp::xml::XmlString::OnDelete

Dtor policy.

Enumerator
NOFREE |
FREE |

Definition at line 52 of file XmlString.h.

## Constructor & Destructor Documentation

## ◆ XmlString()

zypp::xml::XmlString::XmlString | ( | const xmlChar *const | xmlstr_r = NULL,
|  | OnDelete | ondelete_r = NOFREE )

Ctor from xmlChar.

Pass `FREE` as 2nd arg if `xmlFree` needs to be called on destruction.

Definition at line 29 of file XmlString.cc.

## Member Function Documentation

## ◆ get()

const xmlChar * zypp::xml::XmlString::get | ( |  | ) | const
| inline

Access the xmlChar *.

Definition at line 61 of file XmlString.h.

## ◆ operator const xmlChar *()

zypp::xml::XmlString::operator const xmlChar * | ( |  | ) | const
| inline

Implicit conversion to xmlChar *.

Definition at line 69 of file XmlString.h.

## ◆ c_str()

const char * zypp::xml::XmlString::c_str | ( |  | ) | const
| inline

Explicit conversion to const char *.

Definition at line 73 of file XmlString.h.

## ◆ asString()

std::string zypp::xml::XmlString::asString | ( |  | ) | const
| inline

Explicit conversion to std::string.

Definition at line 77 of file XmlString.h.

## ◆ operator==() [1/3]

bool zypp::xml::XmlString::operator== | ( | const std::string & | rhs | ) | const
| inline

Definition at line 84 of file XmlString.h.

## ◆ operator==() [2/3]

bool zypp::xml::XmlString::operator== | ( | const char *const | rhs | ) | const
| inline

Definition at line 90 of file XmlString.h.

## ◆ operator==() [3/3]

bool zypp::xml::XmlString::operator== | ( | const XmlString & | rhs | ) | const
| inline

Definition at line 96 of file XmlString.h.

## ◆ operator!=() [1/3]

bool zypp::xml::XmlString::operator!= | ( | const std::string & | rhs | ) | const
| inline

Definition at line 87 of file XmlString.h.

## ◆ operator!=() [2/3]

bool zypp::xml::XmlString::operator!= | ( | const char *const | rhs | ) | const
| inline

Definition at line 93 of file XmlString.h.

## ◆ operator!=() [3/3]

bool zypp::xml::XmlString::operator!= | ( | const XmlString & | rhs | ) | const
| inline

Definition at line 99 of file XmlString.h.

## Friends And Related Symbol Documentation

## ◆ operator<<()

std::ostream & operator<< | ( | std::ostream & | str,
|  | const XmlString & | obj )
| related

Stream output.

Definition at line 46 of file XmlString.cc.

## Member Data Documentation

## ◆ _xmlstr

shared_ptr<const xmlChar> zypp::xml::XmlString::_xmlstr
| private

Wraps the xmlChar *.

The appropriate custom deleter is set by the ctor.

Definition at line 105 of file XmlString.h.

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

- zypp/parser/xml/XmlString.h
- zypp/parser/xml/XmlString.cc