libzypp  17.23.8
PoolTraits.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_POOL_POOLTRAITS_H
13 #define ZYPP_POOL_POOLTRAITS_H
14 
15 #include <set>
16 #include <map>
17 #include <list>
18 #include <vector>
19 
20 #include <zypp/base/Iterator.h>
21 #include <zypp/base/Hash.h>
22 
23 #include <zypp/PoolItem.h>
24 #include <zypp/pool/ByIdent.h>
25 #include <zypp/sat/Pool.h>
26 
28 namespace zypp
29 {
30 
31  class PoolQuery;
32 
34  namespace pool
35  {
36 
37  class PoolImpl;
38 
40  struct ByPoolItem
41  {
42  bool operator()( const PoolItem & pi ) const
43  { return bool(pi); }
44  };
45 
48  template<typename TPair>
49  struct P_Select2nd : public std::unary_function<TPair, typename TPair::second_type>
50  {
51  typename TPair::second_type&
52  operator()(TPair& __x) const
53  { return __x.second; }
54 
55  const typename TPair::second_type&
56  operator()(const TPair& __x) const
57  { return __x.second; }
58  };
59 
61  //
62  // CLASS NAME : PoolTraits
63  //
65  struct PoolTraits
66  {
67  public:
69 
71  typedef std::vector<PoolItem> ItemContainerT;
72  typedef ItemContainerT::const_iterator item_iterator;
73  typedef filter_iterator<ByPoolItem,ItemContainerT::const_iterator>
76 
78  typedef std::unordered_multimap<sat::detail::IdType, PoolItem>
81  typedef transform_iterator<Id2ItemValueSelector, Id2ItemT::const_iterator>
83 
86 
88  typedef std::list<PoolQuery> HardLockQueries;
89  typedef HardLockQueries::const_iterator hardLockQueries_iterator;
90 
91  typedef PoolImpl Impl;
92  typedef shared_ptr<PoolImpl> Impl_Ptr;
93  typedef shared_ptr<const PoolImpl> Impl_constPtr;
94  };
96 
98  } // namespace pool
101 } // namespace zypp
103 #endif // ZYPP_POOL_POOLTRAITS_H
zypp::PoolItem
Combining sat::Solvable and ResStatus.
Definition: PoolItem.h:50
zypp::pool::PoolTraits
Definition: PoolTraits.h:65
zypp::detail::RepositoryIterator
Definition: Repository.h:445
zypp::pool::PoolTraits::SolvableIdType
sat::detail::SolvableIdType SolvableIdType
Definition: PoolTraits.h:68
ByIdent.h
zypp::pool::PoolTraits::Id2ItemValueSelector
P_Select2nd< Id2ItemT::value_type > Id2ItemValueSelector
Definition: PoolTraits.h:80
zypp::pool::PoolTraits::item_iterator
ItemContainerT::const_iterator item_iterator
Definition: PoolTraits.h:72
bool
zypp::pool::PoolTraits::byIdent_iterator
transform_iterator< Id2ItemValueSelector, Id2ItemT::const_iterator > byIdent_iterator
Definition: PoolTraits.h:82
zypp::pool::PoolTraits::Impl_constPtr
shared_ptr< const PoolImpl > Impl_constPtr
Definition: PoolTraits.h:93
zypp::pool::PoolImpl
Definition: PoolImpl.h:167
zypp::pool::PoolTraits::Impl_Ptr
shared_ptr< PoolImpl > Impl_Ptr
Definition: PoolTraits.h:92
zypp::pool::PoolTraits::repository_iterator
sat::Pool::RepositoryIterator repository_iterator
list of known Repositories
Definition: PoolTraits.h:85
zypp::pool::P_Select2nd::operator()
TPair::second_type & operator()(TPair &__x) const
Definition: PoolTraits.h:52
zypp::sat::detail::SolvableIdType
unsigned SolvableIdType
Id type to connect Solvable and sat-solvable.
Definition: PoolMember.h:125
zypp::pool::PoolTraits::const_iterator
filter_iterator< ByPoolItem, ItemContainerT::const_iterator > const_iterator
Definition: PoolTraits.h:74
zypp::pool::P_Select2nd::operator()
const TPair::second_type & operator()(const TPair &__x) const
Definition: PoolTraits.h:56
zypp::pool::PoolTraits::size_type
ItemContainerT::size_type size_type
Definition: PoolTraits.h:75
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
zypp::pool::PoolTraits::ItemContainerT
std::vector< PoolItem > ItemContainerT
pure items
Definition: PoolTraits.h:71
Pool.h
zypp::pool::ByPoolItem::operator()
bool operator()(const PoolItem &pi) const
Definition: PoolTraits.h:42
Iterator.h
zypp::pool::PoolTraits::HardLockQueries
std::list< PoolQuery > HardLockQueries
hard locks from etc/zypp/locks
Definition: PoolTraits.h:88
zypp::sat::detail::size_type
SolvableIdType size_type
Definition: PoolMember.h:126
PoolItem.h
zypp::pool::PoolTraits::hardLockQueries_iterator
HardLockQueries::const_iterator hardLockQueries_iterator
Definition: PoolTraits.h:89
Hash.h
zypp::pool::PoolTraits::Impl
PoolImpl Impl
Definition: PoolTraits.h:91
zypp::pool::P_Select2nd
In CXX0X std::_Select2nd does no longer derive from std::unary_function.
Definition: PoolTraits.h:49
zypp::pool::ByPoolItem
Pool internal filter skiping invalid/unwanted PoolItems.
Definition: PoolTraits.h:40
zypp::pool::PoolTraits::Id2ItemT
std::unordered_multimap< sat::detail::IdType, PoolItem > Id2ItemT
ident index
Definition: PoolTraits.h:79