libzypp
11.13.5
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libzypp
Welcome to libzypp
Code Pitfalls - Frequently made mistakes
Code Snippets
Environment Variables
Testing for provided features.
Notes on revisions
Extending ZYpp: Plugins and Hooks
Services
Solver - Vendor protection
Writing and tunning testcases
Libzypp and threads
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
zypp
base
media
misc
parser
pool
repo
sat
solver
target
thread
ui
url
ws
zypp_detail
APIConfig.h
Arch.cc
Arch.h
AutoDispose.h
Bit.h
ByteCount.cc
ByteCount.h
Callback.h
Capabilities.cc
Capabilities.h
Capability.cc
Capability.h
CapMatch.cc
CapMatch.h
Changelog.cc
Changelog.h
CheckSum.cc
CheckSum.h
CountryCode.cc
CountryCode.h
Date.cc
Date.h
Dep.cc
Dep.h
Digest.cc
Digest.h
DiskUsage.cc
DiskUsage.h
DiskUsageCounter.cc
DiskUsageCounter.h
DownloadMode.cc
DownloadMode.h
Edition.cc
Edition.h
ExternalProgram.cc
ExternalProgram.h
Fetcher.cc
Fetcher.h
FileChecker.cc
FileChecker.h
Filter.h
Glob.cc
Glob.h
HistoryLog.cc
HistoryLog.h
HistoryLogData.cc
HistoryLogData.h
IdString.cc
IdString.h
IdStringType.h
InstanceId.cc
InstanceId.h
KeyContext.h
KeyRing.cc
KeyRing.h
KVMap.h
LanguageCode.cc
LanguageCode.h
Locale.cc
Locale.h
Locks.cc
Locks.h
ManagedFile.h
MediaProducts.cc
MediaProducts.h
MediaSetAccess.cc
MediaSetAccess.h
Misc.h
OnMediaLocation.cc
OnMediaLocation.h
Package.cc
Package.h
PackageKeyword.h
Patch.cc
Patch.h
PathInfo.cc
PathInfo.h
Pathname.cc
Pathname.h
Pattern.cc
Pattern.h
PluginFrame.cc
PluginFrame.h
PluginFrameException.cc
PluginFrameException.h
PluginScript.cc
PluginScript.h
PluginScriptException.cc
PluginScriptException.h
PoolItem.cc
PoolItem.h
PoolItemBest.cc
PoolItemBest.h
PoolQuery.cc
PoolQuery.h
PoolQueryResult.cc
PoolQueryResult.h
PoolQueryUtil.tcc
ProblemSolution.cc
ProblemSolution.h
ProblemTypes.h
Product.cc
Product.h
ProgressData.cc
ProgressData.h
ProvideFilePolicy.cc
ProvideFilePolicy.h
PublicKey.cc
PublicKey.h
Range.cc
Range.h
Rel.cc
Rel.h
RelCompare.h
RepoInfo.cc
RepoInfo.h
RepoManager.cc
RepoManager.h
Repository.cc
Repository.h
RepoStatus.cc
RepoStatus.h
ResFilters.h
ResKind.cc
ResKind.h
ResObject.cc
ResObject.h
ResObjects.h
Resolvable.cc
Resolvable.h
Resolver.cc
Resolver.h
ResolverProblem.cc
ResolverProblem.h
ResPool.cc
ResPool.h
ResPoolProxy.cc
ResPoolProxy.h
ResStatus.cc
ResStatus.h
ResTraits.h
ServiceInfo.cc
ServiceInfo.h
Signature.cc
Signature.h
SrcPackage.cc
SrcPackage.h
SysContent.cc
SysContent.h
Target.cc
Target.h
TmpPath.cc
TmpPath.h
TriBool.h
Url.cc
Url.h
Vendor.h
VendorAttr.cc
VendorAttr.h
VendorSupportOptions.cc
VendorSupportOptions.h
ZConfig.cc
ZConfig.h
ZYpp.cc
ZYpp.h
ZYppCallbacks.h
ZYppCommit.h
ZYppCommitPolicy.cc
ZYppCommitPolicy.h
ZYppCommitResult.cc
ZYppCommitResult.h
ZYppFactory.cc
ZYppFactory.h
File Members
PoolItemBest.h
Go to the documentation of this file.
1
/*---------------------------------------------------------------------\
2
| ____ _ __ __ ___ |
3
| |__ / \ / / . \ . \ |
4
| / / \ V /| _/ _/ |
5
| / /__ | | | | | | |
6
| /_____||_| |_| |_| |
7
| |
8
\---------------------------------------------------------------------*/
12
#ifndef ZYPP_POOLITEMBEST_H
13
#define ZYPP_POOLITEMBEST_H
14
15
#include <iosfwd>
16
17
#include "
zypp/base/PtrTypes.h
"
18
#include "
zypp/base/Function.h
"
19
#include "
zypp/base/Iterator.h
"
20
#include "
zypp/base/Tr1hash.h
"
21
22
#include "
zypp/PoolItem.h
"
23
25
namespace
zypp
26
{
27
29
//
30
// CLASS NAME : PoolItemBest
31
//
60
class
PoolItemBest
61
{
62
typedef
std::tr1::unordered_map<IdString,PoolItem>
Container
;
63
public
:
65
typedef
boost::function<bool ( const PoolItem & lhs, const PoolItem & rhs )>
Predicate
;
66
67
typedef
Container::size_type
size_type
;
68
typedef
Container::value_type
value_type
;
69
typedef
MapKVIteratorTraits<Container>::Value_const_iterator
iterator
;
70
typedef
MapKVIteratorTraits<Container>::Key_const_iterator
ident_iterator
;
71
72
public
:
74
PoolItemBest
()
75
{}
76
78
PoolItemBest
(
sat::Solvable
slv_r )
79
{
_ctor_init
();
add
( slv_r ); }
80
82
PoolItemBest
(
const
PoolItem
& pi_r )
83
{
_ctor_init
();
add
( pi_r ); }
84
86
template
<
class
_Iterator>
87
PoolItemBest
( _Iterator begin_r, _Iterator end_r )
88
{
_ctor_init
();
add
( begin_r, end_r ); }
89
90
public
:
92
void
add
(
sat::Solvable
slv_r )
93
{
add
(
PoolItem
( slv_r ) ); }
94
96
void
add
(
const
PoolItem
& pi_r );
97
99
template
<
class
_Iterator>
100
void
add
( _Iterator begin_r, _Iterator end_r )
101
{
102
for_
( it, begin_r, end_r )
103
add
( *it );
104
}
105
106
public
:
110
bool
empty
()
const
{
return
container
().empty(); }
112
size_type
size
()
const
{
return
container
().size(); }
114
iterator
begin
()
const
{
return
make_map_value_begin
(
container
() ); }
116
iterator
end
()
const
{
return
make_map_value_end
(
container
() ); }
117
119
PoolItem
find
(
IdString
ident_r )
const
;
121
PoolItem
find
(
sat::Solvable
slv_r )
const
{
return
find
( slv_r.
ident
() ); }
123
PoolItem
find
(
const
PoolItem
& pi_r )
const
{
return
find
( pi_r.
satSolvable
().
ident
() ); }
125
129
ident_iterator
identBegin
()
const
{
return
make_map_key_begin
(
container
() ); }
131
ident_iterator
identEnd
()
const
{
return
make_map_key_end
(
container
() ); }
133
134
private
:
135
void
_ctor_init
();
136
const
Container
&
container
()
const
;
137
private
:
139
class
Impl;
141
RWCOW_pointer<Impl>
&
pimpl
() {
return
*(
reinterpret_cast<
RWCOW_pointer<Impl>
*
>
(
_dont_use_this_use_pimpl
.get() )); }
143
const
RWCOW_pointer<Impl>
&
pimpl
()
const
{
return
*(
reinterpret_cast<
RWCOW_pointer<Impl>
*
>
(
_dont_use_this_use_pimpl
.get() )); }
145
shared_ptr<void>
_dont_use_this_use_pimpl
;
146
};
148
150
std::ostream &
operator<<
( std::ostream & str,
const
PoolItemBest
& obj );
151
153
}
// namespace zypp
155
#endif // ZYPP_POOLITEMBEST_H
zypp
PoolItemBest.h
Generated by
1.8.1