libzypp
12.16.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Rel.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_REL_H
13
#define ZYPP_REL_H
14
15
#include <iosfwd>
16
#include <string>
17
19
namespace
zypp
20
{
21
23
//
24
// CLASS NAME : Rel
25
//
43
struct
Rel
44
{
50
static
const
Rel
EQ
;
51
static
const
Rel
NE
;
52
static
const
Rel
LT
;
53
static
const
Rel
LE
;
54
static
const
Rel
GT
;
55
static
const
Rel
GE
;
56
static
const
Rel
ANY
;
57
static
const
Rel
NONE
;
59
65
enum
for_use_in_switch
{
66
NONE_e
= 0U,
67
GT_e
= 1U,
68
EQ_e
= 2U,
69
LT_e
= 4U,
70
GE_e
=
GT_e
|
EQ_e
,
71
LE_e
=
LT_e
|
EQ_e
,
72
NE_e
=
GT_e
|
LT_e
,
73
ANY_e
=
GT_e
|
EQ_e
|
LT_e
,
74
};
75
77
Rel
()
78
:
_op
(
ANY_e
)
79
{}
80
91
explicit
92
Rel
(
const
std::string & strval_r );
93
97
Rel
(
const
std::string & strval_r,
const
Rel
& default_r );
98
102
bool
parseFrom
(
const
std::string & strval_r );
103
105
explicit
106
Rel
(
unsigned
bits_r )
107
:
_op
(
for_use_in_switch
(bits_r &
ANY_e
) )
108
{}
109
111
static
bool
isRel
(
unsigned
bits_r )
112
{
return
(bits_r &
ANY_e
) == bits_r; }
113
117
const
std::string &
asString
()
const
;
119
const
char
*
c_str
()
const
120
{
return
asString
().c_str(); }
121
141
for_use_in_switch
inSwitch
()
const
142
{
return
_op
; }
143
145
unsigned
bits
()
const
146
{
return
_op
; }
147
148
private
:
150
Rel
(
for_use_in_switch
op_r )
151
:
_op
( op_r )
152
{}
154
for_use_in_switch
_op
;
155
};
157
159
inline
std::ostream &
operator<<
( std::ostream & str,
const
Rel
& obj )
160
{
return
str << obj.
asString
(); }
161
163
165
inline
bool
operator==
(
const
Rel
& lhs,
const
Rel
& rhs )
166
{
return
lhs.
inSwitch
() == rhs.
inSwitch
(); }
167
169
inline
bool
operator!=
(
const
Rel
& lhs,
const
Rel
& rhs )
170
{
return
! ( lhs == rhs ); }
171
173
}
// namespace zypp
175
#endif // ZYPP_REL_H
zypp
Rel.h
Generated by
1.8.2