libzypp
17.14.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Map.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
11
#ifndef ZYPP_SAT_MAP_H
12
#define ZYPP_SAT_MAP_H
13
14
#include <iosfwd>
15
#include <string>
16
17
#include "
zypp/base/PtrTypes.h
"
18
#include "
zypp/sat/detail/PoolMember.h
"
19
21
namespace
zypp
22
{
24
namespace
sat
25
{
33
class
Map
34
{
35
public
:
36
typedef
unsigned
long
size_type
;
37
39
struct
PoolSizeType
{};
41
static
constexpr
PoolSizeType
poolSize
=
PoolSizeType
();
42
43
public
:
45
Map
();
46
48
explicit
Map
(
size_type
size_r );
49
51
Map
(
PoolSizeType
);
52
54
~Map
();
55
56
public
:
58
bool
empty
()
const
;
59
61
size_type
size
()
const
;
62
64
void
grow
(
size_type
size_r );
65
66
public
:
68
void
setAll
();
69
71
void
clearAll
();
72
74
void
assignAll
(
bool
val_r );
75
79
void
set
(
size_type
idx_r );
80
84
void
clear
(
size_type
idx_r );
85
89
void
assign
(
size_type
idx_r,
bool
val_r );
90
91
public
:
95
bool
test
(
size_type
idx_r )
const
;
96
100
bool
operator[]
(
size_type
idx_r )
const
101
{
return
test
( idx_r ); }
102
103
public
:
105
std::string
asString
(
const
char
on_r =
'1'
,
const
char
off_r =
'0'
)
const
;
106
107
public
:
108
operator
detail::CMap
*();
109
operator
const
detail::CMap
*()
const
110
{
return
_pimpl
.
get
(); }
111
private
:
112
RWCOW_pointer<detail::CMap>
_pimpl
;
113
};
114
116
inline
std::ostream &
operator<<
( std::ostream & str,
const
Map
& obj )
117
{
return
str << obj.
asString
(); }
118
120
bool
operator==
(
const
Map
& lhs,
const
Map
& rhs );
121
123
inline
bool
operator!=
(
const
Map
& lhs,
const
Map
& rhs )
124
{
return
!( lhs == rhs ); }
125
126
}
// namespace sat
128
130
template
<>
sat::detail::CMap
* rwcowClone<sat::detail::CMap>(
const
sat::detail::CMap
* rhs );
131
132
typedef
sat::Map
Bitmap
;
133
134
}
// namespace zypp
136
#endif // ZYPP_SAT_MAP_H
zypp
sat
Map.h
Generated by
1.8.2