libzypp 17.37.17
zypp::xml::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 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 *.

(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

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.

◆ 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: