libzypp: zypp/ng/sat/solvable.h Source File

libzypp 17.38.6

solvable.h
Go to the documentation of this file.
1/*---------------------------------------------------------------------\
2| ____ _ __ __ ___ |
3| |__ / \ / / . \ . \ |
4| / / \ V /| _/ _/ |
5| / /__ | | | | | | |
6| /_____||_| |_| |_| |
7| |
8\---------------------------------------------------------------------*/
12#ifndef ZYPP_SAT_SOLVABLE_H
13#define ZYPP_SAT_SOLVABLE_H
14
15#include <iosfwd>
16
17#include <zypp-core/ng/meta/type_traits.h>
18#include <zypp-core/ByteCount.h>
19#include <zypp-core/Date.h>
20#include <zypp-core/CheckSum.h>
21
22#include <zypp/ng/sat/poolconstants.h>
23#include <zypp/ng/sat/poolmember.h>
24#include <zypp/ng/sat/solvattr.h>
25#include <zypp/ng/restraits.h>
26#include <zypp/ng/idstring.h>
27#include <zypp/ng/edition.h>
28#include <zypp/ng/arch.h>
29#include <zypp/ng/cpeid.h>
30#include <zypp/ng/dep.h>
31#include <zypp/ng/sat/capabilities.h>
32#include <zypp/ng/sat/capability.h>
33#include <zypp/ng/reskind.h>
34#include <zypp/ng/locale.h>
35
36
37
38namespace zyppng
39{
41 namespace sat
42 {
43 class Solvable;
44
45 namespace detail {
46 template<> Pool & poolFromType( Solvable & );
47 template<> const Pool & poolFromType( const Solvable & );
48 }
49
64 class Solvable : public PoolMember<Solvable>
65 {
66 public:
67 using IdType = detail::SolvableIdType;
68
69 static const IdString patternToken;
70 static const IdString productToken;
71
72 static const IdString retractedToken;
73 static const IdString ptfMasterToken;
74 static const IdString ptfPackageToken;
75
76 public:
78 Solvable()
79 : _id( detail::noSolvableId )
80 {}
81
82 Solvable(const Solvable &) = default;
83 Solvable(Solvable &&) noexcept = default;
84 Solvable &operator=(const Solvable &) = default;
85 Solvable &operator=(Solvable &&) noexcept = default;
86
88 explicit Solvable( IdType id_r )
89 : _id( id_r )
90 {}
91
92 public:
94 static const Solvable noSolvable;
95
97 explicit operator bool() const
98 { return get(); }
99
100 public:
105 IdString ident()const;
106
108 ResKind kind()const;
109
114 bool isKind( const ResKind & kind_r ) const;
116 template<class TRes>
117 bool isKind() const
118 { return isKind( resKind<TRes>() ); }
119
120 template<class TIterator>
121 bool isKind( TIterator begin, TIterator end ) const
122 { for_( it, begin, end ) if ( isKind( *it ) ) return true; return false; }
123
125 std::string name() const;
126
128 Edition edition() const;
129
131 Arch arch() const;
132
134 IdString vendor() const;
135
137 detail::RepoIdType repository() const;
138
142 bool isSystem() const;
143
145 zypp::Date buildtime() const;
146
148 zypp::Date installtime() const;
149
153 bool identical( const Solvable & rhs ) const;
154
156 bool sameNVRA( const Solvable & rhs ) const
157 { return( get() == rhs.get() || ( ident() == rhs.ident() && edition() == rhs.edition() && arch() == rhs.arch() ) ); }
158
159 public:
165 Capabilities dep_provides() const;
166 Capabilities dep_requires() const;
167 Capabilities dep_conflicts() const;
168 Capabilities dep_obsoletes() const;
169 Capabilities dep_recommends() const;
170 Capabilities dep_suggests() const;
171 Capabilities dep_enhances() const;
172 Capabilities dep_supplements() const;
173 Capabilities dep_prerequires() const;
174
176 Capabilities dep( Dep which_r ) const
177 {
178 switch( which_r.inSwitch() )
179 {
180 case Dep::PROVIDES_e: return dep_provides(); break;
181 case Dep::REQUIRES_e: return dep_requires(); break;
182 case Dep::CONFLICTS_e: return dep_conflicts(); break;
183 case Dep::OBSOLETES_e: return dep_obsoletes(); break;
184 case Dep::RECOMMENDS_e: return dep_recommends(); break;
185 case Dep::SUGGESTS_e: return dep_suggests(); break;
186 case Dep::ENHANCES_e: return dep_enhances(); break;
187 case Dep::SUPPLEMENTS_e: return dep_supplements(); break;
188 case Dep::PREREQUIRES_e: return dep_prerequires(); break;
189 }
190 return Capabilities();
191 }
192
193 Capabilities operator[]( Dep which_r ) const
194 { return dep( which_r ); }
195
196
198 CapabilitySet providesNamespace( const std::string & namespace_r ) const;
199
207 CapabilitySet valuesOfNamespace( const std::string & namespace_r ) const;
209
210 std::pair<bool, CapabilitySet> matchesSolvable ( const SolvAttr &attr, const Solvable &solv ) const;
211
212 public:
215
216 bool supportsLocales() const;
218 bool supportsLocale( const Locale & locale_r ) const;
220 bool supportsLocale( const LocaleSet & locales_r ) const;
222 LocaleSet getSupportedLocales() const;
225 void getSupportedLocales( LocaleSet & locales_r ) const
226 { locales_r = getSupportedLocales(); }
227
228
229 public:
231 CpeId cpeId() const;
232
234 unsigned mediaNr() const;
235
257 zypp::ByteCount installSize() const;
258
260 zypp::ByteCount downloadSize() const;
261
263 std::string distribution() const;
264
266 std::string summary( const Locale & lang_r = Locale() ) const;
267
269 std::string description( const Locale & lang_r = Locale() ) const;
270
272 std::string insnotify( const Locale & lang_r = Locale() ) const;
274 std::string delnotify( const Locale & lang_r = Locale() ) const;
275
277 std::string licenseToConfirm( const Locale & lang_r = Locale() ) const;
279 bool needToAcceptLicense() const;
280
281 public:
287
291 std::string lookupStrAttribute( const SolvAttr & attr ) const;
302 std::string lookupStrAttribute( const SolvAttr & attr, const Locale & lang_r ) const;
303
308 unsigned long long lookupNumAttribute( const SolvAttr & attr ) const;
310 unsigned long long lookupNumAttribute( const SolvAttr & attr, unsigned long long notfound_r ) const;
311
316 bool lookupBoolAttribute( const SolvAttr & attr ) const;
317
322 detail::IdType lookupIdAttribute( const SolvAttr & attr ) const;
323
328 zypp::CheckSum lookupCheckSumAttribute( const SolvAttr & attr ) const;
329
330 public:
332 Solvable nextInPool() const;
334 Solvable nextInRepo() const;
336 detail::CSolvable * get() const;
338 IdType id() const { return _id; }
339
340 private:
341 IdType _id;
342 };
343
344
346 inline bool operator==( const Solvable & lhs, const Solvable & rhs )
347 { return lhs.get() == rhs.get(); }
348
350 inline bool operator!=( const Solvable & lhs, const Solvable & rhs )
351 { return lhs.get() != rhs.get(); }
352
354 inline bool operator<( const Solvable & lhs, const Solvable & rhs )
355 { return lhs.get() < rhs.get(); }
356
358 template<class TRes>
359 inline bool isKind( const Solvable & solvable_r )
360 { return solvable_r.isKind( ResTraits<TRes>::kind ); }
361
363 inline bool identical( const Solvable & lhs, const Solvable & rhs )
364 { return lhs.identical( rhs ); }
365
367 inline bool sameNVRA( const Solvable & lhs, const Solvable & rhs )
368 { return lhs.sameNVRA( rhs ); }
369
370
372 inline int compareByN( const Solvable & lhs, const Solvable & rhs )
373 {
374 int res = 0;
375 if ( lhs != rhs )
376 {
377 if ( (res = lhs.kind().compare( rhs.kind() )) == 0 )
378 res = lhs.name().compare( rhs.name() );
379 }
380 return res;
381 }
382
384 inline int compareByNVR( const Solvable & lhs, const Solvable & rhs )
385 {
386 int res = compareByN( lhs, rhs );
387 if ( res == 0 )
388 res = lhs.edition().compare( rhs.edition() );
389 return res;
390 }
391
393 inline int compareByNVRA( const Solvable & lhs, const Solvable & rhs )
394 {
395 int res = compareByNVR( lhs, rhs );
396 if ( res == 0 )
397 res = lhs.arch().compare( rhs.arch() );
398 return res;
399 }
400
402 namespace detail
403 {
410 class SolvableIterator : public boost::iterator_adaptor<
411 SolvableIterator // Derived
412 , CSolvable* // Base
413 , const Solvable // Value
414 , boost::forward_traversal_tag // CategoryOrTraversal
415 , const Solvable // Reference
416 >
417 {
418 public:
419 SolvableIterator()
420 : SolvableIterator::iterator_adaptor_( nullptr )
421 {}
422
423 explicit SolvableIterator( const Solvable & val_r )
424 : SolvableIterator::iterator_adaptor_( nullptr )
425 { initialAssignVal( val_r ); }
426
427 explicit SolvableIterator( SolvableIdType id_r )
428 : SolvableIterator::iterator_adaptor_( nullptr )
429 { initialAssignVal( Solvable(id_r) ); }
430
431 private:
432 friend class boost::iterator_core_access;
433
434 Solvable dereference() const
435 { return _val; }
436
437 void increment()
438 { assignVal( _val.nextInPool() ); }
439
440 private:
441 void initialAssignVal( const Solvable & val_r )
442 { assignVal( val_r ? val_r : val_r.nextInPool() ); }
443
444 void assignVal( const Solvable & val_r )
445 { _val = val_r; base_reference() = _val.get(); }
446
447 Solvable _val;
448 };
449 } // namespace detail
450
451 namespace detail {
452
453 template <typename T>
454 using satSolvable_t = decltype(std::declval<T>().satSolvable());
455
456 template <typename T>
457 constexpr bool has_satSolvable_v = std::is_detected_v<satSolvable_t, T>;
458
459 template <typename T, typename = void >
460 struct convert_to_solvable{
461 // static_assert to force specialization/implementation
462 static_assert( always_false_v<T>, "Type must have .satSolvable() or a specialization of detail::convert_to_solvable" );
463 };
464
465 template <typename T>
466 struct convert_to_solvable<T, std::void_t<satSolvable_t<T>>> {
467 template <typename SType = T>
468 static Solvable asSolvable( SType && obj ) {
469 return std::forward<SType>(obj).satSolvable();
470 }
471 };
472 }
473
478 struct asSolvable
479 {
480 using result_type = Solvable;
481
482 Solvable operator()( const Solvable & solv_r ) const
483 { return solv_r; }
484
485 template <typename T>
486 Solvable operator()( T&& obj )const {
487 return detail::convert_to_solvable<T>::asSolvable( std::forward<T>(obj));
488 }
489 };
490
491 } // namespace sat
492} // namespace zypp
493
494 ZYPP_DEFINE_ID_HASHABLE( ::zyppng::sat::Solvable );
495
496#endif // ZYPP_SAT_SOLVABLE_H
ByteCount.h
Date.h
for_
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
Definition Easy.h:27
ZYPP_DEFINE_ID_HASHABLE
#define ZYPP_DEFINE_ID_HASHABLE(C)
Define hash function for id based classes.
Definition Hash.h:26
arch.h
bool
zypp::Arch
Architecture.
Definition Arch.h:37
zypp::Arch::compare
int compare(const Arch &rhs) const
Arch comparison.
Definition Arch.cc:785
zypp::ByteCount
Store and operate with byte count.
Definition ByteCount.h:32
zypp::CheckSum
Definition CheckSum.h:34
zypp::CpeId
Common Platform Enumearation (2.3) See http://cpe.mitre.org/ for more information on the Common Platf...
Definition CpeId.h:33
zypp::Date
Store and operate on date (time_t).
Definition Date.h:33
zypp::Edition
Edition represents [epoch:]version[-release].
Definition Edition.h:60
zypp::IdString
Access to the sat-pools string space.
Definition IdString.h:55
zypp::Locale
'Language[_Country]' codes.
Definition Locale.h:51
zypp::ResKind
Resolvable kinds.
Definition ResKind.h:33
zypp::sat::SolvAttr
Solvable attribute keys.
Definition SolvAttr.h:41
zyppng::IdStringType::compare
static int compare(const Derived &lhs, const Derived &rhs)
Definition IdStringType.h:142
zyppng::sat::Capabilities
Container of Capability (currently read only).
Definition capabilities.h:31
zyppng::sat::PoolMember
Definition poolmember.h:28
zyppng::sat::Solvable
A Solvable object within the sat Pool.
Definition solvable.h:65
zyppng::sat::Solvable::lookupStrAttribute
std::string lookupStrAttribute(const SolvAttr &attr) const
returns the string attribute value for attr or an empty string if it does not exists.
Definition solvable.cc:107
zyppng::sat::Solvable::dep
Capabilities dep(Dep which_r) const
Return Capabilities selected by Dep constant.
Definition solvable.h:176
zyppng::sat::Solvable::ptfPackageToken
static const IdString ptfPackageToken
Indicator provides ptf-package().
Definition solvable.h:74
zyppng::sat::Solvable::get
detail::CSolvable * get() const
Expert backdoor.
Definition solvable.cc:76
zyppng::sat::Solvable::_id
IdType _id
Definition solvable.h:341
zyppng::sat::Solvable::lookupBoolAttribute
bool lookupBoolAttribute(const SolvAttr &attr) const
returns the boolean attribute value for attr or false if it does not exists.
Definition solvable.cc:147
zyppng::sat::Solvable::dep_conflicts
Capabilities dep_conflicts() const
Definition solvable.cc:344
zyppng::sat::Solvable::summary
std::string summary(const Locale &lang_r=Locale()) const
Short (singleline) text describing the solvable (opt.
Definition solvable.cc:569
zyppng::sat::Solvable::identical
bool identical(const Solvable &rhs) const
Test whether two Solvables have the same content.
Definition solvable.cc:317
zyppng::sat::Solvable::Solvable
Solvable()
Default ctor creates noSolvable.
Definition solvable.h:78
zyppng::sat::Solvable::name
std::string name() const
The name (without any ResKind prefix).
Definition solvable.cc:238
zyppng::sat::Solvable::needToAcceptLicense
bool needToAcceptLicense() const
True except for well known exceptions (i.e show license but no need to accept it).
zyppng::sat::Solvable::operator[]
Capabilities operator[](Dep which_r) const
Definition solvable.h:193
zyppng::sat::Solvable::isKind
bool isKind(TIterator begin, TIterator end) const
Definition solvable.h:121
zyppng::sat::Solvable::valuesOfNamespace
CapabilitySet valuesOfNamespace(const std::string &namespace_r) const
Return 'value[ op edition]' for namespaced provides 'namespace(value)[ op edition]'.
Definition solvable.cc:397
zyppng::sat::Solvable::Solvable
Solvable(const Solvable &)=default
zyppng::sat::Solvable::productToken
static const IdString productToken
Indicator provides product().
Definition solvable.h:70
zyppng::sat::Solvable::kind
ResKind kind() const
The Solvables ResKind.
Definition solvable.cc:184
zyppng::sat::Solvable::cpeId
CpeId cpeId() const
The solvables CpeId if available.
Definition solvable.cc:532
zyppng::sat::Solvable::installSize
zypp::ByteCount installSize() const
Installed (unpacked) size.
Definition solvable.cc:551
zyppng::sat::Solvable::isKind
bool isKind() const
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition solvable.h:117
zyppng::sat::Solvable::retractedToken
static const IdString retractedToken
Indicator provides retracted-patch-package().
Definition solvable.h:72
zyppng::sat::Solvable::dep_prerequires
Capabilities dep_prerequires() const
Definition solvable.cc:374
zyppng::sat::Solvable::nextInPool
Solvable nextInPool() const
Return next Solvable in Pool (or noSolvable).
Definition solvable.cc:87
zyppng::sat::Solvable::patternToken
static const IdString patternToken
Indicator provides pattern().
Definition solvable.h:69
zyppng::sat::Solvable::isSystem
bool isSystem() const
Return whether this Solvable belongs to the system repo.
Definition solvable.cc:278
zyppng::sat::Solvable::sameNVRA
bool sameNVRA(const Solvable &rhs) const
Test for same name-version-release.arch.
Definition solvable.h:156
zyppng::sat::Solvable::delnotify
std::string delnotify(const Locale &lang_r=Locale()) const
UI hint text when selecting the solvable for uninstall (opt.
Definition solvable.cc:587
zyppng::sat::Solvable::dep_enhances
Capabilities dep_enhances() const
Definition solvable.cc:364
zyppng::sat::Solvable::licenseToConfirm
std::string licenseToConfirm(const Locale &lang_r=Locale()) const
License or agreement to accept before installing the solvable (opt.
zyppng::sat::Solvable::edition
Edition edition() const
The edition (version-release).
Definition solvable.cc:246
zyppng::sat::Solvable::supportsLocale
bool supportsLocale(const Locale &locale_r) const
Whether this Solvable supports a specific Locale.
Definition solvable.cc:508
zyppng::sat::Solvable::description
std::string description(const Locale &lang_r=Locale()) const
Long (multiline) text describing the solvable (opt.
Definition solvable.cc:575
zyppng::sat::Solvable::getSupportedLocales
LocaleSet getSupportedLocales() const
Return the supported locales.
Definition solvable.cc:522
zyppng::sat::Solvable::dep_requires
Capabilities dep_requires() const
Definition solvable.cc:339
zyppng::sat::Solvable::dep_supplements
Capabilities dep_supplements() const
Definition solvable.cc:369
zyppng::sat::Solvable::lookupIdAttribute
detail::IdType lookupIdAttribute(const SolvAttr &attr) const
returns the id attribute value for attr or detail::noId if it does not exists.
Definition solvable.cc:153
zyppng::sat::Solvable::ident
IdString ident() const
The identifier.
Definition solvable.cc:178
zyppng::sat::Solvable::installtime
zypp::Date installtime() const
The items install time (false if not installed).
Definition solvable.cc:290
zyppng::sat::Solvable::dep_obsoletes
Capabilities dep_obsoletes() const
Definition solvable.cc:349
zyppng::sat::Solvable::lookupNumAttribute
unsigned long long lookupNumAttribute(const SolvAttr &attr) const
returns the numeric attribute value for attr or 0 if it does not exists.
Definition solvable.cc:135
zyppng::sat::Solvable::dep_suggests
Capabilities dep_suggests() const
Definition solvable.cc:359
zyppng::sat::Solvable::IdType
detail::SolvableIdType IdType
Definition solvable.h:67
zyppng::sat::Solvable::id
IdType id() const
Expert backdoor.
Definition solvable.h:338
zyppng::sat::Solvable::insnotify
std::string insnotify(const Locale &lang_r=Locale()) const
UI hint text when selecting the solvable for install (opt.
Definition solvable.cc:581
zyppng::sat::Solvable::lookupCheckSumAttribute
zypp::CheckSum lookupCheckSumAttribute(const SolvAttr &attr) const
returns the CheckSum attribute value for attr or an empty CheckSum if ir does not exist.
Definition solvable.cc:159
zyppng::sat::Solvable::dep_recommends
Capabilities dep_recommends() const
Definition solvable.cc:354
zyppng::sat::Solvable::dep_provides
Capabilities dep_provides() const
Definition solvable.cc:334
zyppng::sat::Solvable::providesNamespace
CapabilitySet providesNamespace(const std::string &namespace_r) const
Return the namespaced provides 'namespace([value])[ op edition]' of this Solvable.
Definition solvable.cc:383
zyppng::sat::Solvable::distribution
std::string distribution() const
The distribution string.
Definition solvable.cc:563
zyppng::sat::Solvable::noSolvable
static const Solvable noSolvable
Represents no Solvable.
Definition solvable.h:94
zyppng::sat::Solvable::arch
Arch arch() const
The architecture.
Definition solvable.cc:252
zyppng::sat::Solvable::downloadSize
zypp::ByteCount downloadSize() const
Download size.
Definition solvable.cc:557
zyppng::sat::Solvable::isKind
bool isKind(const ResKind &kind_r) const
Test whether a Solvable is of a certain ResKind.
Definition solvable.cc:211
zyppng::sat::Solvable::vendor
IdString vendor() const
The vendor.
Definition solvable.cc:266
zyppng::sat::Solvable::nextInRepo
Solvable nextInRepo() const
Return next Solvable in Repo (or noSolvable).
Definition solvable.cc:93
zyppng::sat::Solvable::repository
detail::RepoIdType repository() const
The repo id this Solvable belongs to.
Definition solvable.cc:272
zyppng::sat::Solvable::buildtime
zypp::Date buildtime() const
The items build time.
Definition solvable.cc:284
zyppng::sat::Solvable::Solvable
Solvable(Solvable &&) noexcept=default
zyppng::sat::Solvable::mediaNr
unsigned mediaNr() const
Media number the solvable is located on (0 if no media access required).
Definition solvable.cc:538
zyppng::sat::Solvable::matchesSolvable
std::pair< bool, CapabilitySet > matchesSolvable(const SolvAttr &attr, const Solvable &solv) const
Definition solvable.cc:415
zyppng::sat::Solvable::ptfMasterToken
static const IdString ptfMasterToken
Indicator provides ptf().
Definition solvable.h:73
zyppng::sat::Solvable::supportsLocales
bool supportsLocales() const
Whether this Solvable claims to support locales.
Definition solvable.cc:502
zyppng::sat::detail::SolvableIterator::increment
void increment()
Definition solvable.h:437
zyppng::sat::detail::SolvableIterator::dereference
Solvable dereference() const
Definition solvable.h:434
zyppng::sat::detail::SolvableIterator::SolvableIterator
SolvableIterator()
Definition solvable.h:419
zyppng::sat::detail::SolvableIterator::SolvableIterator
SolvableIterator(const Solvable &val_r)
Definition solvable.h:423
zyppng::sat::detail::SolvableIterator::_val
Solvable _val
Definition solvable.h:447
zyppng::sat::detail::SolvableIterator::initialAssignVal
void initialAssignVal(const Solvable &val_r)
Definition solvable.h:441
zyppng::sat::detail::SolvableIterator::SolvableIterator
SolvableIterator(SolvableIdType id_r)
Definition solvable.h:427
zyppng::sat::detail::SolvableIterator::assignVal
void assignVal(const Solvable &val_r)
Definition solvable.h:444
zyppng::sat::detail::SolvableIterator::iterator_core_access
friend class boost::iterator_core_access
Definition solvable.h:432
cpeid.h
dep.h
edition.h
locale.h
std
Definition ansi.h:855
std::is_detected_v
constexpr bool is_detected_v
Definition type_traits.h:57
zypp::sat::compareByN
int compareByN(const Solvable &lhs, const Solvable &rhs)
relates: Solvable Compare according to kind and name.
Definition Solvable.h:507
zypp::sat::identical
bool identical(const Solvable &lhs, const Solvable &rhs)
relates: Solvable Test for same content.
Definition Solvable.h:498
zypp::sat::operator!=
bool operator!=(const FileConflicts &lhs, const FileConflicts &rhs)
relates: FileConflicts
Definition FileConflicts.h:89
zypp::sat::isKind
bool isKind(const Solvable &solvable_r)
relates: Solvable Test whether a Solvable is of a certain Kind.
Definition Solvable.h:494
zypp::sat::operator<
bool operator<(const LocaleSupport &lhs, const LocaleSupport &rhs)
relates: LocaleSupport
Definition LocaleSupport.h:120
zypp::sat::operator==
bool operator==(const FileConflicts &lhs, const FileConflicts &rhs)
relates: FileConflicts
Definition FileConflicts.h:85
zypp::sat::sameNVRA
bool sameNVRA(const Solvable &lhs, const Solvable &rhs)
relates: Solvable Test for same name version release and arch.
Definition Solvable.h:502
zypp::sat::compareByNVRA
int compareByNVRA(const Solvable &lhs, const Solvable &rhs)
relates: Solvable Compare according to kind, name, edition and arch.
Definition Solvable.h:528
zypp::sat::compareByNVR
int compareByNVR(const Solvable &lhs, const Solvable &rhs)
relates: Solvable Compare according to kind, name and edition.
Definition Solvable.h:519
zypp::LocaleSet
std::unordered_set< Locale > LocaleSet
Definition Locale.h:29
zypp::always_false_v
constexpr bool always_false_v
Definition LogControl.cc:60
zypp::resKind
ResKind resKind()
Convenient access to well known ResKinds.
Definition ResTraits.h:129
zyppng::detail
Definition reporthelper.h:31
zyppng::sat::detail
CLASS NAME : detail::DIWrap.
Definition cap2str.cc:14
zyppng::sat::detail::CSolvable
zypp::sat::detail::CSolvable CSolvable
Definition poolconstants.h:39
zyppng::sat::detail::RepoIdType
zypp::sat::detail::RepoIdType RepoIdType
Definition poolconstants.h:45
zyppng::sat::detail::poolFromType
Pool & poolFromType(T &)
zyppng::sat::detail::SolvableIdType
zypp::sat::detail::SolvableIdType SolvableIdType
Definition poolconstants.h:44
zyppng::sat::detail::satSolvable_t
decltype(std::declval< T >().satSolvable()) satSolvable_t
Definition solvable.h:454
zyppng::sat::detail::IdType
zypp::sat::detail::IdType IdType
Definition poolconstants.h:43
zyppng::sat::detail::has_satSolvable_v
constexpr bool has_satSolvable_v
Definition solvable.h:457
zyppng::sat
This file contains private API, this might break at any time between releases.
Definition capabilities.h:22
zyppng::sat::CapabilitySet
std::unordered_set< Capability > CapabilitySet
Definition capability.h:35
zyppng
Definition MediaNetworkRequestExecutor.h:16
poolconstants.h
poolmember.h
reskind.h
restraits.h
capabilities.h
capability.h
solvattr.h
zypp::Dep
Enumeration class of dependency types.
Definition Dep.h:31
zypp::Dep::inSwitch
for_use_in_switch inSwitch() const
Enumarator provided for use in switch statement.
Definition Dep.h:90
zypp::ResTraits
ResTraits.
Definition ResTraits.h:80
zyppng::Dep::SUGGESTS_e
@ SUGGESTS_e
Definition Dep.h:64
zyppng::Dep::REQUIRES_e
@ REQUIRES_e
Definition Dep.h:60
zyppng::Dep::PREREQUIRES_e
@ PREREQUIRES_e
Definition Dep.h:59
zyppng::Dep::RECOMMENDS_e
@ RECOMMENDS_e
Definition Dep.h:63
zyppng::Dep::SUPPLEMENTS_e
@ SUPPLEMENTS_e
Definition Dep.h:66
zyppng::Dep::PROVIDES_e
@ PROVIDES_e
Definition Dep.h:58
zyppng::Dep::CONFLICTS_e
@ CONFLICTS_e
Definition Dep.h:61
zyppng::Dep::ENHANCES_e
@ ENHANCES_e
Definition Dep.h:65
zyppng::Dep::OBSOLETES_e
@ OBSOLETES_e
Definition Dep.h:62
zyppng::sat::asSolvable
To Solvable transform functor.
Definition solvable.h:479
zyppng::sat::asSolvable::operator()
Solvable operator()(T &&obj) const
Definition solvable.h:486
zyppng::sat::asSolvable::operator()
Solvable operator()(const Solvable &solv_r) const
Definition solvable.h:482
zyppng::sat::asSolvable::result_type
Solvable result_type
Definition solvable.h:480
zyppng::sat::detail::convert_to_solvable< T, std::void_t< satSolvable_t< T > > >::asSolvable
static Solvable asSolvable(SType &&obj)
Definition solvable.h:468
zyppng::sat::detail::convert_to_solvable
Definition solvable.h:460
type_traits.h
CheckSum.h
idstring.h