libzypp  13.10.6
PoolMember.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_SAT_DETAIL_POOLMEMBER_H
13 #define ZYPP_SAT_DETAIL_POOLMEMBER_H
14 
15 #include "zypp/base/Tr1hash.h"
16 #include "zypp/base/Iterator.h"
17 #include "zypp/base/String.h"
18 #include "zypp/base/Easy.h"
19 
20 extern "C"
21 {
22 struct _Solvable;
23 struct _Repo;
24 struct _Pool;
25 }
26 
28 namespace zypp
29 {
30 
31  class IdString;
32  class Capability;
33  class Capabilities;
34  class Repository;
35  class RepoInfo;
36 
38  namespace detail
39  {
40  class RepoIterator;
41  class ByRepository;
42  }
43 
45  namespace sat
46  {
47 
48  class Pool;
49  class Solvable;
50 
52  namespace detail
53  {
54 
55  class PoolImpl;
56 
58  //
59  // CLASS NAME : PoolMember
60  //
66  struct PoolMember
67  {
68  static PoolImpl & myPool();
69  };
71 
73  } // namespace detail
75 
76 
78  namespace detail
79  {
80 
82  typedef int IdType;
83  static const IdType noId( 0 );
84  static const IdType emptyId( 1 );
85 
89  static const IdType solvablePrereqMarker( 15 );
90  static const IdType solvableFileMarker ( 16 );
92  inline bool isDepMarkerId( IdType id_r )
93  { return( id_r == solvablePrereqMarker || id_r == solvableFileMarker ); }
94 
98  typedef unsigned SolvableIdType;
101  static const SolvableIdType noSolvableId( 0 );
103  static const SolvableIdType systemSolvableId( 1 );
104 
106  typedef ::_Repo * RepoIdType;
108  static const RepoIdType noRepoId( 0 );
109 
111  } // namespace detail
113 
114 
116  namespace detail
117  {
118 
119  class SolvableIterator;
120 
122  } // namespace detail
124 
126  } // namespace sat
129 } // namespace zypp
131 #endif // ZYPP_SAT_DETAIL_POOLMEMBER_H
static const SolvableIdType noSolvableId(0)
Id to denote Solvable::noSolvable.
int IdType
Generic Id type.
Definition: PoolMember.h:82
::_Repo * RepoIdType
Id type to connect Repo and sat-repo.
Definition: PoolMember.h:106
static const RepoIdType noRepoId(0)
Id to denote Repo::noRepository.
unsigned SolvableIdType
Id type to connect Solvable and sat-solvable.
Definition: PoolMember.h:98
static const IdType solvableFileMarker(16)
Backlink to the associated PoolImpl.
Definition: PoolMember.h:66
static const IdType emptyId(1)
static const SolvableIdType systemSolvableId(1)
Id to denote the usually hidden Solvable::systemSolvable.
static PoolImpl & myPool()
Definition: PoolImpl.cc:164
SolvableIdType size_type
Definition: PoolMember.h:99
bool isDepMarkerId(IdType id_r)
Test for internal ids satlib includes in dependencies.
Definition: PoolMember.h:92
static const IdType noId(0)
static const IdType solvablePrereqMarker(15)
Internal ids satlib includes in dependencies.