libzypp: zypp/sat/detail/PoolMember.h Source File

libzypp 17.38.5

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-core/base/Hash.h>
16#include <zypp-core/base/Iterator.h>
17#include <zypp-core/base/String.h>
18#include <zypp-core/base/Easy.h>
19
20extern "C"
21{
22 // Those s_Type names are exposed as sat::detail::CType below!
23 struct s_Dataiterator;
24 struct s_Datamatcher;
25 struct s_Map;
26 struct s_Pool;
27 struct s_Queue;
28 struct s_Repo;
29 struct s_Solvable;
30 struct s_Solver;
31 struct s_Transaction;
32}
33
35namespace zypp
36{
37
38 class IdString;
39 class Capability;
40 class Capabilities;
41 class Repository;
42 class RepoInfo;
43
45 namespace detail
46 {
47 class RepoIterator;
48 struct ByRepository;
49 }
50
52 namespace sat
53 {
54
56 namespace detail
57 {
58 using CDataiterator = ::s_Dataiterator;
59 using CDatamatcher = ::s_Datamatcher;
60 using CMap = ::s_Map;
61 using CPool = ::s_Pool;
62 using CQueue = ::s_Queue;
63 using CRepo = ::s_Repo;
64 using CSolvable = ::s_Solvable;
65 using CSolver = ::s_Solver;
66 using CTransaction = ::s_Transaction;
67 } // namespace detail
69
70 class Pool;
71 class Solvable;
72
74 namespace detail
75 {
76
77 class PoolImpl;
78
80 //
81 // CLASS NAME : PoolMember
82 //
88 struct PoolMember
89 {
90 static PoolImpl & myPool();
91 };
92
93
95 } // namespace detail
97
98
100 namespace detail
101 {
102
104 using IdType = int;
105 static const IdType noId( 0 );
106 static const IdType emptyId( 1 );
107
111 static const IdType solvablePrereqMarker( 15 );
112 static const IdType solvableFileMarker ( 16 );
113
114 static const IdType namespaceModalias ( 18 );
115 static const IdType namespaceLanguage ( 20 );
116 static const IdType namespaceFilesystem ( 21 );
117
119 inline bool isDepMarkerId( IdType id_r )
120 { return( id_r == solvablePrereqMarker || id_r == solvableFileMarker ); }
121
125 using SolvableIdType = unsigned int;
126 using size_type = SolvableIdType;
128 static const SolvableIdType noSolvableId( 0 );
130 static const SolvableIdType systemSolvableId( 1 );
131
133 using RepoIdType = CRepo *;
135 static const RepoIdType noRepoId( 0 );
136
138 } // namespace detail
140
141
143 namespace detail
144 {
145
146 class SolvableIterator;
147
149 } // namespace detail
151
153 } // namespace sat
156} // namespace zypp
158#endif // ZYPP_SAT_DETAIL_POOLMEMBER_H
Easy.h
Hash.h
Iterator.h
String.h
zypp::Capabilities
Container of Capability (currently read only).
Definition Capabilities.h:36
zypp::Capability
A sat capability.
Definition Capability.h:63
zypp::IdString
Access to the sat-pools string space.
Definition IdString.h:44
zypp::RepoInfo
What is known about a repository.
Definition RepoInfo.h:72
zypp::Repository
Definition Repository.h:40
zypp::sat::Pool
Global sat-pool.
Definition Pool.h:47
zypp::sat::Solvable
A Solvable object within the sat Pool.
Definition Solvable.h:54
zypp::sat::detail::PoolImpl
Definition PoolImpl.h:54
zypp::detail
Definition PoolQuery.cc:1509
zypp::sat::detail
Definition PoolImpl.cc:72
zypp::sat::detail::size_type
SolvableIdType size_type
Definition PoolMember.h:126
zypp::sat::detail::namespaceLanguage
static const IdType namespaceLanguage(20)
zypp::sat::detail::solvablePrereqMarker
static const IdType solvablePrereqMarker(15)
Internal ids satlib includes in dependencies.
zypp::sat::detail::solvableFileMarker
static const IdType solvableFileMarker(16)
zypp::sat::detail::emptyId
static const IdType emptyId(1)
zypp::sat::detail::CMap
::s_Map CMap
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:60
zypp::sat::detail::SolvableIdType
unsigned int SolvableIdType
Id type to connect Solvable and sat-solvable.
Definition PoolMember.h:125
zypp::sat::detail::namespaceModalias
static const IdType namespaceModalias(18)
zypp::sat::detail::namespaceFilesystem
static const IdType namespaceFilesystem(21)
zypp::sat::detail::CRepo
::s_Repo CRepo
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:63
zypp::sat::detail::noId
static const IdType noId(0)
zypp::sat::detail::noSolvableId
static const SolvableIdType noSolvableId(0)
Id to denote Solvable::noSolvable.
zypp::sat::detail::IdType
int IdType
Generic Id type.
Definition PoolMember.h:104
zypp::sat::detail::CQueue
::s_Queue CQueue
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:62
zypp::sat::detail::noRepoId
static const RepoIdType noRepoId(0)
Id to denote Repo::noRepository.
zypp::sat::detail::isDepMarkerId
bool isDepMarkerId(IdType id_r)
Test for internal ids satlib includes in dependencies.
Definition PoolMember.h:119
zypp::sat::detail::CSolvable
::s_Solvable CSolvable
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:64
zypp::sat::detail::CSolver
::s_Solver CSolver
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:65
zypp::sat::detail::CPool
::s_Pool CPool
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:61
zypp::sat::detail::CDatamatcher
::s_Datamatcher CDatamatcher
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:59
zypp::sat::detail::CDataiterator
::s_Dataiterator CDataiterator
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:58
zypp::sat::detail::CTransaction
::s_Transaction CTransaction
Wrapped libsolv C data type exposed as backdoor.
Definition PoolMember.h:66
zypp::sat::detail::systemSolvableId
static const SolvableIdType systemSolvableId(1)
Id to denote the usually hidden Solvable::systemSolvable.
zypp::sat::detail::RepoIdType
CRepo * RepoIdType
Id type to connect Repo and sat-repo.
Definition PoolMember.h:133
zypp::sat
Libsolv interface
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition CodePitfalls.doc:2
zypp::detail::ByRepository
Functor filtering Solvable by Repository.
Definition Repository.h:490
zypp::sat::detail::PoolMember
Backlink to the associated PoolImpl.
Definition PoolMember.h:89
zypp::sat::detail::PoolMember::myPool
static PoolImpl & myPool()
Definition PoolImpl.cc:185