libzypp
12.16.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
LanguageCode.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_LANGUAGECODE_H
13
#define ZYPP_LANGUAGECODE_H
14
15
#include <iosfwd>
16
#include <string>
17
18
#include "
zypp/base/PtrTypes.h
"
19
21
namespace
zypp
22
{
23
24
class
LanguageCode;
25
inline
bool
operator==
(
const
LanguageCode & lhs,
const
LanguageCode & rhs );
26
inline
bool
operator!=
(
const
LanguageCode & lhs,
const
LanguageCode & rhs );
27
29
//
30
// CLASS NAME : LanguageCode
31
//
37
class
LanguageCode
38
{
39
friend
std::ostream &
operator<<
( std::ostream & str,
const
LanguageCode
& obj );
40
41
public
:
43
class
Impl
;
44
45
public
:
47
LanguageCode
();
48
50
explicit
51
LanguageCode
(
const
std::string & code_r );
52
54
~LanguageCode
();
55
56
public
:
60
static
const
LanguageCode
noCode
;
62
63
public
:
65
std::string
code
()
const
;
66
68
std::string
name
()
const
;
69
71
inline
bool
hasCode
()
const
72
{
return
*
this
!=
noCode
; }
73
74
private
:
76
RW_pointer<Impl>
_pimpl
;
77
};
79
81
inline
std::ostream &
operator<<
( std::ostream & str,
const
LanguageCode
& obj )
82
{
return
str << obj.
code
(); }
83
87
inline
bool
operator==
(
const
LanguageCode
& lhs,
const
LanguageCode
& rhs ) {
88
return
( lhs.
code
() == rhs.
code
() );
89
}
91
inline
bool
operator==
(
const
std::string & lhs,
const
LanguageCode
& rhs ) {
92
return
( lhs == rhs.
code
() );
93
}
95
inline
bool
operator==
(
const
LanguageCode
& lhs,
const
std::string & rhs ) {
96
return
( lhs.
code
() == rhs );
97
}
98
100
inline
bool
operator!=
(
const
LanguageCode
& lhs,
const
LanguageCode
& rhs ) {
101
return
( !
operator
==( lhs, rhs ) );
102
}
104
inline
bool
operator!=
(
const
std::string & lhs,
const
LanguageCode
& rhs ) {
105
return
( !
operator
==( lhs, rhs ) );
106
}
108
inline
bool
operator!=
(
const
LanguageCode
& lhs,
const
std::string & rhs ) {
109
return
( !
operator
==( lhs, rhs ) );
110
}
112
114
}
// namespace zypp
116
118
namespace
std
119
{
120
121
template
<>
122
inline
bool
less<zypp::LanguageCode>::operator()(
const
zypp::LanguageCode
& lhs,
const
zypp::LanguageCode
& rhs )
const
123
{
return
lhs.
code
() < rhs.
code
(); }
125
}
// namespace std
127
#endif // ZYPP_LANGUAGECODE_H
zypp
LanguageCode.h
Generated by
1.8.2