libzypp 17.31.23
XmlEscape.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
12#ifndef ZYPP_PARSER_XML_XMLESCAPE_H
13#define ZYPP_PARSER_XML_XMLESCAPE_H
14
15#include <sstream>
16#include <string>
17#include <zypp-core/Globals.h>
18
20namespace zypp
21{
23 namespace xml
24 {
26 namespace detail
27 {
28 struct EscapedString
29 {
30 EscapedString( const std::string & in_r ) : _in( in_r ) {}
31 std::ostream & dumpOn( std::ostream & str ) const;
32 std::string asString() const
33 { std::ostringstream str; dumpOn( str ); return str.str(); }
34 operator std::string() const
35 { return asString(); }
36 private:
37 const std::string & _in;
38 };
39
41 inline std::ostream & operator<<( std::ostream & str, const EscapedString & obj )
42 { return obj.dumpOn( str ); }
43
44 } // detail
46
51 inline detail::EscapedString escape( const std::string & in_r )
52 { return detail::EscapedString( in_r ); }
53
55 ZYPP_API std::string unescape( const std::string & in_r );
56
57 } // namespace xml
59} // namespace zypp
61#endif // ZYPP_PARSER_XML_XMLESCAPE_H
String related utilities and Regular expression matching.
std::string escape(const C_Str &str_r, const char sep_r)
Escape desired character c using a backslash.
Definition: String.cc:371
std::ostream & operator<<(std::ostream &str, const ReadState &obj)
Definition: libxmlfwd.cc:29
std::string unescape(const std::string &in_r)
Unescape xml special charaters (& -> &; from IoBind library)
Definition: XmlEscape.cc:113
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
std::ostream & dumpOn(std::ostream &str) const
Definition: XmlEscape.cc:79
std::string asString() const
Definition: XmlEscape.h:32
EscapedString(const std::string &in_r)
Definition: XmlEscape.h:30
const std::string & _in
Definition: XmlEscape.h:37
#define ZYPP_API
Definition: Globals.h:58