libzypp  17.11.2
zypp::xml::XmlString Class Reference

xmlChar * wrapper. More...

#include <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. More...
 
const xmlChar * get () const
 Access the xmlChar *. More...
 
 operator const xmlChar * () const
 Implicit conversion to xmlChar *. More...
 
const char * c_str () const
 Explicit conversion to const char *. More...
 
std::string asString () const
 Explicit conversion to std::string. More...
 
bool operator== (const std::string &rhs) const
 
bool operator!= (const std::string &rhs) const
 
bool operator== (const char *const rhs) const
 
bool operator!= (const char *const rhs) const
 
bool operator== (const XmlString &rhs) const
 
bool operator!= (const XmlString &rhs) const
 

Private Attributes

shared_ptr< const xmlChar > _xmlstr
 Wraps the xmlChar *. More...
 

Related Functions

(Note that these are not member functions.)

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

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

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!=() [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 90 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 96 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 Function 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: