libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
XmlString.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_PARSER_XML_XMLSTRING_H
13
#define ZYPP_PARSER_XML_XMLSTRING_H
14
15
#include <iosfwd>
16
#include <string>
17
18
#include "
zypp/base/PtrTypes.h
"
19
20
#include "
zypp/parser/xml/libxmlfwd.h
"
21
#include "
zypp/parser/xml/XmlEscape.h
"
22
24
namespace
zypp
25
{
26
27
namespace
xml
28
{
29
31
//
32
// CLASS NAME : XmlString
33
//
40
class
XmlString
41
{
43
struct
Deleter
44
{
45
void
operator()
(
const
xmlChar * xmlstr_r )
const
46
{ xmlFree( (
void
*)(xmlstr_r) ); }
47
};
48
49
public
:
50
52
enum
OnDelete
{
NOFREE
,
FREE
};
53
57
XmlString
(
const
xmlChar *
const
xmlstr_r = NULL,
58
OnDelete
ondelete_r =
NOFREE
);
59
61
const
xmlChar *
get
()
const
62
{
63
if
( !
_xmlstr
)
64
return
NULL;
65
return
&(*_xmlstr);
66
}
67
69
operator
const
xmlChar * ()
const
70
{
return
get
(); }
71
73
const
char
*
c_str
()
const
74
{
return
reinterpret_cast<
const
char
*const
>
(
get
()); }
75
77
std::string
asString
()
const
78
{
79
if
( !
_xmlstr
)
80
return
std::string();
81
return
c_str
();
82
}
83
84
bool
operator==
(
const
std::string & rhs )
const
85
{
return
( rhs ==
c_str
() ); }
86
87
bool
operator!=
(
const
std::string & rhs )
const
88
{
return
( rhs !=
c_str
() ); }
89
90
bool
operator==
(
const
char
*
const
rhs )
const
91
{
return
(
asString
() == rhs ); }
92
93
bool
operator!=
(
const
char
*
const
rhs )
const
94
{
return
(
asString
() != rhs ); }
95
96
bool
operator==
(
const
XmlString
& rhs )
const
97
{
return
(
asString
() == rhs.
c_str
() ); }
98
99
bool
operator!=
(
const
XmlString
& rhs )
const
100
{
return
(
asString
() != rhs.
c_str
() ); }
101
102
private
:
105
shared_ptr<const xmlChar>
_xmlstr
;
106
};
108
110
std::ostream &
operator<<
( std::ostream & str,
const
XmlString
& obj );
111
113
}
// namespace xml
116
}
// namespace zypp
118
#endif // ZYPP_PARSER_XML_XMLSTRING_H
zypp
parser
xml
XmlString.h
Generated by
1.8.1