libzypp
17.14.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Queue.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
11
#ifndef ZYPP_SAT_QUEUE_H
12
#define ZYPP_SAT_QUEUE_H
13
14
#include <iosfwd>
15
16
#include "
zypp/base/PtrTypes.h
"
17
#include "
zypp/sat/detail/PoolMember.h
"
18
20
namespace
zypp
21
{
23
namespace
sat
24
{
25
class
Queue
;
26
typedef
Queue
SolvableQueue
;
27
typedef
Queue
StringQueue
;
28
34
class
Queue
35
{
36
public
:
37
typedef
unsigned
size_type
;
38
typedef
detail::IdType
value_type
;
39
typedef
const
value_type
*
const_iterator
;
40
41
public
:
43
Queue
();
44
46
~Queue
();
47
48
bool
empty
()
const
;
49
size_type
size
()
const
;
50
const_iterator
begin
()
const
;
51
const_iterator
end
()
const
;
52
54
const_iterator
find
(
value_type
val_r )
const
;
55
57
bool
contains
(
value_type
val_r )
const
58
{
return
(
find
( val_r ) !=
end
() ); }
59
61
value_type
first
()
const
;
62
64
value_type
last
()
const
;
65
69
const
value_type
&
at
(
size_type
idx_r )
const
;
70
74
value_type
&
at
(
size_type
idx_r );
75
77
const
value_type
&
operator[]
(
size_type
idx_r )
const
;
78
80
value_type
&
operator[]
(
size_type
idx_r );
81
83
void
clear
();
84
86
void
remove
(
value_type
val_r );
87
89
void
push
(
value_type
val_r );
91
void
push_back
(
value_type
val_r )
92
{
push
( val_r ); }
93
95
void
pushUnique
(
value_type
val_r );
96
98
value_type
pop
();
100
value_type
pop_back
()
101
{
return
pop
(); }
102
104
void
push_front
(
value_type
val_r );
105
107
value_type
pop_front
();
108
109
public
:
110
operator
detail::CQueue
*();
111
operator
const
detail::CQueue
*()
const
112
{
return
_pimpl
.
get
(); }
113
private
:
114
RWCOW_pointer<detail::CQueue>
_pimpl
;
115
};
116
118
std::ostream &
operator<<
( std::ostream & str,
const
Queue
& obj );
119
121
std::ostream &
dumpOn
( std::ostream & str,
const
Queue
& obj );
122
124
bool
operator==
(
const
Queue
& lhs,
const
Queue
& rhs );
125
127
inline
bool
operator!=
(
const
Queue
& lhs,
const
Queue
& rhs )
128
{
return
!( lhs == rhs ); }
129
130
}
// namespace sat
132
134
template
<>
sat::detail::CQueue
* rwcowClone<sat::detail::CQueue>(
const
sat::detail::CQueue
* rhs );
135
136
}
// namespace zypp
138
#endif // ZYPP_SAT_QUEUE_H
zypp
sat
Queue.h
Generated by
1.8.2