libzypp: zypp/sat/Solvable.h Source File

libzypp 17.38.15

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/sat/detail/PoolMember.h>
18#include <zypp/sat/SolvAttr.h>
19#include <zypp/ResTraits.h>
20#include <zypp/IdString.h>
21#include <zypp/Edition.h>
22#include <zypp/Arch.h>
23#include <zypp/Dep.h>
24#include <zypp/Capabilities.h>
25#include <zypp/Capability.h>
26#include <zypp/Locale.h>
27
29namespace zypp
30{
31 class ByteCount;
32 class CheckSum;
33 class CpeId;
34 class Date;
35 class OnMediaLocation;
37 namespace sat
38 {
53 class ZYPP_API Solvable : protected detail::PoolMember
54 {
55 public:
56 using IdType = sat::detail::SolvableIdType;
57
58 static const IdString patternToken;
59 static const IdString productToken;
60
61 static const IdString retractedToken;
62 static const IdString ptfMasterToken;
63 static const IdString ptfPackageToken;
64
65 public:
67 Solvable()
68 : _id( detail::noSolvableId )
69 {}
70
71 Solvable(const Solvable &) = default;
72 Solvable(Solvable &&) noexcept = default;
73 Solvable &operator=(const Solvable &) = default;
74 Solvable &operator=(Solvable &&) noexcept = default;
75
77 explicit Solvable( IdType id_r )
78 : _id( id_r )
79 {}
80
81 public:
83 static const Solvable noSolvable;
84
86 explicit operator bool() const
87 { return get(); }
88
89 public:
94 IdString ident()const;
95
97 ResKind kind()const;
98
103 bool isKind( const ResKind & kind_r ) const;
105 template<class TRes>
106 bool isKind() const
107 { return isKind( resKind<TRes>() ); }
108
109 template<class TIterator>
110 bool isKind( TIterator begin, TIterator end ) const
111 { for_( it, begin, end ) if ( isKind( *it ) ) return true; return false; }
112
114 std::string name() const;
115
117 Edition edition() const;
118
120 Arch arch() const;
121
123 IdString vendor() const;
124
126 Repository repository() const;
128 RepoInfo repoInfo() const;
129
133 bool isSystem() const;
134
138 bool onSystemByUser() const;
139
143 bool onSystemByAuto() const;
144
146 bool identIsAutoInstalled() const
147 { return identIsAutoInstalled( ident() ); }
148
149 static bool identIsAutoInstalled( const IdString & ident_r );
150
154 bool multiversionInstall() const;
155
157 bool isNeedreboot() const;
158
160 Capability patternProvides() const
161 { return dep_provides().findFirstMatch( Capability(patternToken.id()) ); }
162
164 bool isPatternPackage() const
165 { return bool(patternProvides()); }
166
168 Capability productProvides() const
169 { return dep_provides().findFirstMatch( Capability(productToken.id()) ); }
170
172 bool isProductPackage() const
173 { return bool(productProvides()); }
174
193
194 bool isBlacklisted() const;
195
197 bool isRetracted() const;
198
200 bool isPtf() const;
201
203 bool isPtfMaster() const;
204
206 bool isPtfPackage() const;
208
210 Date buildtime() const;
211
213 Date installtime() const;
214
215 public:
223 std::string asString() const;
224
226 std::string asUserString() const;
227
231 bool identical( const Solvable & rhs ) const;
232
234 bool sameNVRA( const Solvable & rhs ) const
235 { return( get() == rhs.get() || ( ident() == rhs.ident() && edition() == rhs.edition() && arch() == rhs.arch() ) ); }
236
237 public:
243 Capabilities dep_provides() const;
244 Capabilities dep_requires() const;
245 Capabilities dep_conflicts() const;
246 Capabilities dep_obsoletes() const;
247 Capabilities dep_recommends() const;
248 Capabilities dep_suggests() const;
249 Capabilities dep_enhances() const;
250 Capabilities dep_supplements() const;
251 Capabilities dep_prerequires() const;
252
253#if __cplusplus < 202002L
254 Capabilities provides() const ZYPP_DEPRECATED; // use dep_ prefixed version instead
255 Capabilities requires() const ZYPP_DEPRECATED; // use dep_ prefixed version instead
256 Capabilities conflicts() const ZYPP_DEPRECATED; // use dep_ prefixed version instead
257 Capabilities obsoletes() const ZYPP_DEPRECATED; // use dep_ prefixed version instead
258 Capabilities recommends() const ZYPP_DEPRECATED; // use dep_ prefixed version instead
259 Capabilities suggests() const ZYPP_DEPRECATED; // use dep_ prefixed version instead
260 Capabilities enhances() const ZYPP_DEPRECATED; // use dep_ prefixed version instead
261 Capabilities supplements() const ZYPP_DEPRECATED; // use dep_ prefixed version instead
262 Capabilities prerequires() const ZYPP_DEPRECATED; // use dep_ prefixed version instead
263#endif
264
266 Capabilities dep( Dep which_r ) const
267 {
268 switch( which_r.inSwitch() )
269 {
270 case Dep::PROVIDES_e: return dep_provides(); break;
271 case Dep::REQUIRES_e: return dep_requires(); break;
272 case Dep::CONFLICTS_e: return dep_conflicts(); break;
273 case Dep::OBSOLETES_e: return dep_obsoletes(); break;
274 case Dep::RECOMMENDS_e: return dep_recommends(); break;
275 case Dep::SUGGESTS_e: return dep_suggests(); break;
276 case Dep::ENHANCES_e: return dep_enhances(); break;
277 case Dep::SUPPLEMENTS_e: return dep_supplements(); break;
278 case Dep::PREREQUIRES_e: return dep_prerequires(); break;
279 }
280 return Capabilities();
281 }
282
283 Capabilities operator[]( Dep which_r ) const
284 { return dep( which_r ); }
285
286
288 CapabilitySet providesNamespace( const std::string & namespace_r ) const;
289
297 CapabilitySet valuesOfNamespace( const std::string & namespace_r ) const;
299
300 std::pair<bool, CapabilitySet> matchesSolvable ( const SolvAttr &attr, const sat::Solvable &solv ) const;
301
302 public:
305
306 bool supportsLocales() const;
308 bool supportsLocale( const Locale & locale_r ) const;
310 bool supportsLocale( const LocaleSet & locales_r ) const;
314 bool supportsRequestedLocales() const;
316 LocaleSet getSupportedLocales() const;
318 void getSupportedLocales( LocaleSet & locales_r ) const
319 { locales_r = getSupportedLocales(); }
320
321
322 public:
324 CpeId cpeId() const;
325
327 unsigned mediaNr() const;
328
350 ByteCount installSize() const;
351
353 ByteCount downloadSize() const;
354
356 std::string distribution() const;
357
359 std::string summary( const Locale & lang_r = Locale() ) const;
360
362 std::string description( const Locale & lang_r = Locale() ) const;
363
365 std::string insnotify( const Locale & lang_r = Locale() ) const;
367 std::string delnotify( const Locale & lang_r = Locale() ) const;
368
370 std::string licenseToConfirm( const Locale & lang_r = Locale() ) const;
372 bool needToAcceptLicense() const;
373
374 public:
380 class SplitIdent
381 {
382 public:
383 SplitIdent() {}
384 SplitIdent( IdString ident_r );
385 SplitIdent( const char * ident_r );
386 SplitIdent( const std::string & ident_r );
387 SplitIdent( ResKind kind_r, IdString name_r );
388 SplitIdent( ResKind kind_r, const C_Str & name_r );
389
390 IdString ident() const { return _ident; }
391 ResKind kind() const { return _kind; }
392 IdString name() const { return _name; }
393
394 private:
395 IdString _ident;
396 ResKind _kind;
397 IdString _name;
398 };
399
400 public:
406
410 std::string lookupStrAttribute( const SolvAttr & attr ) const;
421 std::string lookupStrAttribute( const SolvAttr & attr, const Locale & lang_r ) const;
422
427 unsigned long long lookupNumAttribute( const SolvAttr & attr ) const;
429 unsigned long long lookupNumAttribute( const SolvAttr & attr, unsigned long long notfound_r ) const;
430
435 bool lookupBoolAttribute( const SolvAttr & attr ) const;
436
441 detail::IdType lookupIdAttribute( const SolvAttr & attr ) const;
442
447 CheckSum lookupCheckSumAttribute( const SolvAttr & attr ) const;
448
453 OnMediaLocation lookupLocation() const;
455
456 public:
458 Solvable nextInPool() const;
460 Solvable nextInRepo() const;
462 detail::CSolvable * get() const;
464 IdType id() const { return _id; }
465
466 private:
467 IdType _id;
468 };
469
470
472 std::ostream & operator<<( std::ostream & str, const Solvable & obj ) ZYPP_API;
473
475 std::ostream & dumpOn( std::ostream & str, const Solvable & obj ) ZYPP_API;
476
478 std::ostream & dumpAsXmlOn( std::ostream & str, const Solvable & obj ) ZYPP_API;
479
481 inline bool operator==( const Solvable & lhs, const Solvable & rhs )
482 { return lhs.get() == rhs.get(); }
483
485 inline bool operator!=( const Solvable & lhs, const Solvable & rhs )
486 { return lhs.get() != rhs.get(); }
487
489 inline bool operator<( const Solvable & lhs, const Solvable & rhs )
490 { return lhs.get() < rhs.get(); }
491
493 template<class TRes>
494 inline bool isKind( const Solvable & solvable_r )
495 { return solvable_r.isKind( ResTraits<TRes>::kind ); }
496
498 inline bool identical( const Solvable & lhs, const Solvable & rhs )
499 { return lhs.identical( rhs ); }
500
502 inline bool sameNVRA( const Solvable & lhs, const Solvable & rhs )
503 { return lhs.sameNVRA( rhs ); }
504
505
507 inline int compareByN( const Solvable & lhs, const Solvable & rhs )
508 {
509 int res = 0;
510 if ( lhs != rhs )
511 {
512 if ( (res = lhs.kind().compare( rhs.kind() )) == 0 )
513 res = lhs.name().compare( rhs.name() );
514 }
515 return res;
516 }
517
519 inline int compareByNVR( const Solvable & lhs, const Solvable & rhs )
520 {
521 int res = compareByN( lhs, rhs );
522 if ( res == 0 )
523 res = lhs.edition().compare( rhs.edition() );
524 return res;
525 }
526
528 inline int compareByNVRA( const Solvable & lhs, const Solvable & rhs )
529 {
530 int res = compareByNVR( lhs, rhs );
531 if ( res == 0 )
532 res = lhs.arch().compare( rhs.arch() );
533 return res;
534 }
535
537 namespace detail
538 {
545 class SolvableIterator : public boost::iterator_adaptor<
546 SolvableIterator // Derived
547 , CSolvable* // Base
548 , const Solvable // Value
549 , boost::forward_traversal_tag // CategoryOrTraversal
550 , const Solvable // Reference
551 >
552 {
553 public:
554 SolvableIterator()
555 : SolvableIterator::iterator_adaptor_( nullptr )
556 {}
557
558 explicit SolvableIterator( const Solvable & val_r )
559 : SolvableIterator::iterator_adaptor_( nullptr )
560 { initialAssignVal( val_r ); }
561
562 explicit SolvableIterator( SolvableIdType id_r )
563 : SolvableIterator::iterator_adaptor_( nullptr )
564 { initialAssignVal( Solvable(id_r) ); }
565
566 private:
567 friend class boost::iterator_core_access;
568
569 Solvable dereference() const
570 { return _val; }
571
572 void increment()
573 { assignVal( _val.nextInPool() ); }
574
575 private:
576 void initialAssignVal( const Solvable & val_r )
577 { assignVal( val_r ? val_r : val_r.nextInPool() ); }
578
579 void assignVal( const Solvable & val_r )
580 { _val = val_r; base_reference() = _val.get(); }
581
582 Solvable _val;
583 };
584 } // namespace detail
586 } // namespace sat
588
589 class PoolItem;
591 namespace sat
592 {
597 struct ZYPP_API asSolvable
598 {
599 using result_type = Solvable;
600
601 Solvable operator()( const Solvable & solv_r ) const
602 { return solv_r; }
603
604 Solvable operator()( const PoolItem & pi_r ) const;
605
606 Solvable operator()( const ResObject_constPtr & res_r ) const;
607 };
608 } // namespace sat
610} // namespace zypp
612
613 ZYPP_DEFINE_ID_HASHABLE( ::zypp::sat::Solvable );
614
615#endif // ZYPP_SAT_SOLVABLE_H
Arch.h
Capabilities.h
Capability.h
Dep.h
for_
#define for_(IT, BEG, END)
Convenient for-loops using iterator.
Definition Easy.h:27
Edition.h
ZYPP_DEFINE_ID_HASHABLE
#define ZYPP_DEFINE_ID_HASHABLE(C)
Define hash function for id based classes.
Definition Hash.h:48
IdString.h
Locale.h
PoolMember.h
ResTraits.h
SolvAttr.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::C_Str
Convenience char* constructible from std::string and char*, it maps (char*)0 to an empty string.
Definition String.h:92
zypp::Capabilities
Container of Capability (currently read only).
Definition Capabilities.h:35
zypp::Capability
A sat capability.
Definition Capability.h:63
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::IdStringType::compare
static int compare(const Derived &lhs, const Derived &rhs)
Definition IdStringType.h:142
zypp::IdString
Access to the sat-pools string space.
Definition IdString.h:55
zypp::IdString::id
IdType id() const
Expert backdoor.
Definition IdString.h:144
zypp::Locale
'Language[_Country]' codes.
Definition Locale.h:51
zypp::OnMediaLocation
Describes a resource file located on a medium.
Definition onmedialocation.h:37
zypp::PoolItem
Combining sat::Solvable and ResStatus.
Definition PoolItem.h:51
zypp::RepoInfo
What is known about a repository.
Definition RepoInfo.h:72
zypp::Repository
Definition Repository.h:40
zypp::ResKind
Resolvable kinds.
Definition ResKind.h:33
zypp::sat::SolvAttr
Solvable attribute keys.
Definition SolvAttr.h:41
zypp::sat::Solvable::SplitIdent
Helper that splits an identifier into kind and name or vice versa.
Definition Solvable.h:381
zypp::sat::Solvable::SplitIdent::name
IdString name() const
Definition Solvable.h:392
zypp::sat::Solvable::SplitIdent::_name
IdString _name
Definition Solvable.h:397
zypp::sat::Solvable::SplitIdent::SplitIdent
SplitIdent()
Definition Solvable.h:383
zypp::sat::Solvable::SplitIdent::ident
IdString ident() const
Definition Solvable.h:390
zypp::sat::Solvable::SplitIdent::_ident
IdString _ident
Definition Solvable.h:395
zypp::sat::Solvable::SplitIdent::kind
ResKind kind() const
Definition Solvable.h:391
zypp::sat::Solvable::SplitIdent::_kind
ResKind _kind
Definition Solvable.h:396
zypp::sat::Solvable
A Solvable object within the sat Pool.
Definition Solvable.h:54
zypp::sat::Solvable::id
IdType id() const
Expert backdoor.
Definition Solvable.h:464
zypp::sat::Solvable::supplements
Capabilities supplements() const ZYPP_DEPRECATED
zypp::sat::Solvable::identIsAutoInstalled
bool identIsAutoInstalled() const
Whether an installed solvable with the same ident is flagged as AutoInstalled.
Definition Solvable.h:146
zypp::sat::Solvable::lookupLocation
OnMediaLocation lookupLocation() const
returns OnMediaLocation data: This is everything we need to download e.g.
Definition Solvable.cc:228
zypp::sat::Solvable::isProductPackage
bool isProductPackage() const
Whether this solvable provides the productToken.
Definition Solvable.h:172
zypp::sat::Solvable::isKind
bool isKind(TIterator begin, TIterator end) const
Definition Solvable.h:110
zypp::sat::Solvable::dep_suggests
Capabilities dep_suggests() const
Definition Solvable.cc:513
zypp::sat::Solvable::dep
Capabilities dep(Dep which_r) const
Return Capabilities selected by Dep constant.
Definition Solvable.h:266
zypp::sat::Solvable::patternToken
static const IdString patternToken
Indicator provides pattern().
Definition Solvable.h:58
zypp::sat::Solvable::dep_conflicts
Capabilities dep_conflicts() const
Definition Solvable.cc:498
zypp::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:174
zypp::sat::Solvable::recommends
Capabilities recommends() const ZYPP_DEPRECATED
zypp::sat::Solvable::getSupportedLocales
void getSupportedLocales(LocaleSet &locales_r) const
Definition Solvable.h:318
zypp::sat::Solvable::_id
IdType _id
Definition Solvable.h:467
zypp::sat::Solvable::ZYPP_DEPRECATED
Capabilities const ZYPP_DEPRECATED
Definition Solvable.h:255
zypp::sat::Solvable::kind
ResKind kind() const
The Solvables ResKind.
Definition Solvable.cc:279
zypp::sat::Solvable::noSolvable
static const Solvable noSolvable
Represents no Solvable.
Definition Solvable.h:83
zypp::sat::Solvable::dep_supplements
Capabilities dep_supplements() const
Definition Solvable.cc:523
zypp::sat::Solvable::suggests
Capabilities suggests() const ZYPP_DEPRECATED
zypp::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:162
zypp::sat::Solvable::dep_enhances
Capabilities dep_enhances() const
Definition Solvable.cc:518
zypp::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:134
zypp::sat::Solvable::dep_recommends
Capabilities dep_recommends() const
Definition Solvable.cc:508
zypp::sat::Solvable::Solvable
Solvable(const Solvable &)=default
zypp::sat::Solvable::conflicts
Capabilities conflicts() const ZYPP_DEPRECATED
zypp::sat::Solvable::Solvable
Solvable(Solvable &&) noexcept=default
zypp::sat::Solvable::isPatternPackage
bool isPatternPackage() const
Whether this solvable provides the patternToken.
Definition Solvable.h:164
zypp::sat::Solvable::nextInRepo
Solvable nextInRepo() const
Return next Solvable in Repo (or noSolvable).
Definition Solvable.cc:120
zypp::sat::Solvable::operator[]
Capabilities operator[](Dep which_r) const
Definition Solvable.h:283
zypp::sat::Solvable::edition
Edition edition() const
The edition (version-release).
Definition Solvable.cc:341
zypp::sat::Solvable::sameNVRA
bool sameNVRA(const Solvable &rhs) const
Test for same name-version-release.arch.
Definition Solvable.h:234
zypp::sat::Solvable::ptfMasterToken
static const IdString ptfMasterToken
Indicator provides ptf().
Definition Solvable.h:62
zypp::sat::Solvable::Solvable
Solvable()
Default ctor creates noSolvable.
Definition Solvable.h:67
zypp::sat::Solvable::dep_obsoletes
Capabilities dep_obsoletes() const
Definition Solvable.cc:503
zypp::sat::Solvable::getSupportedLocales
LocaleSet getSupportedLocales() const
Return the supported locales.
Definition Solvable.cc:696
zypp::sat::Solvable::get
detail::CSolvable * get() const
Expert backdoor.
Definition Solvable.cc:110
zypp::sat::Solvable::arch
Arch arch() const
The architecture.
Definition Solvable.cc:347
zypp::sat::Solvable::ptfPackageToken
static const IdString ptfPackageToken
Indicator provides ptf-package().
Definition Solvable.h:63
zypp::sat::Solvable::nextInPool
Solvable nextInPool() const
Return next Solvable in Pool (or noSolvable).
Definition Solvable.cc:117
zypp::sat::Solvable::patternProvides
Capability patternProvides() const
Return the provided patternToken or Capability::Null.
Definition Solvable.h:160
zypp::sat::Solvable::retractedToken
static const IdString retractedToken
Indicator provides retracted-patch-package().
Definition Solvable.h:61
zypp::sat::Solvable::obsoletes
Capabilities obsoletes() const ZYPP_DEPRECATED
zypp::sat::Solvable::dep_prerequires
Capabilities dep_prerequires() const
Definition Solvable.cc:528
zypp::sat::Solvable::dep_provides
Capabilities dep_provides() const
Definition Solvable.cc:488
zypp::sat::Solvable::productProvides
Capability productProvides() const
Return the provided productToken or Capability::Null.
Definition Solvable.h:168
zypp::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:180
zypp::sat::Solvable::name
std::string name() const
The name (without any ResKind prefix).
Definition Solvable.cc:333
zypp::sat::Solvable::dep_requires
Capabilities dep_requires() const
Definition Solvable.cc:493
zypp::sat::Solvable::isKind
bool isKind(const ResKind &kind_r) const
Test whether a Solvable is of a certain ResKind.
Definition Solvable.cc:306
zypp::sat::Solvable::ident
IdString ident() const
The identifier.
Definition Solvable.cc:273
zypp::sat::Solvable::productToken
static const IdString productToken
Indicator provides product().
Definition Solvable.h:59
zypp::sat::Solvable::lookupCheckSumAttribute
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:186
zypp::sat::Solvable::provides
Capabilities provides() const ZYPP_DEPRECATED
zypp::sat::Solvable::enhances
Capabilities enhances() const ZYPP_DEPRECATED
zypp::sat::Solvable::prerequires
Capabilities prerequires() const ZYPP_DEPRECATED
zypp::sat::Solvable::IdType
sat::detail::SolvableIdType IdType
Definition Solvable.h:56
zypp::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:106
zypp::sat::Solvable::identical
bool identical(const Solvable &rhs) const
Test whether two Solvables have the same content.
Definition Solvable.cc:471
zypp::sat::detail::SolvableIterator::initialAssignVal
void initialAssignVal(const Solvable &val_r)
Definition Solvable.h:576
zypp::sat::detail::SolvableIterator::SolvableIterator
SolvableIterator(SolvableIdType id_r)
Definition Solvable.h:562
zypp::sat::detail::SolvableIterator::dereference
Solvable dereference() const
Definition Solvable.h:569
zypp::sat::detail::SolvableIterator::assignVal
void assignVal(const Solvable &val_r)
Definition Solvable.h:579
zypp::sat::detail::SolvableIterator::increment
void increment()
Definition Solvable.h:572
zypp::sat::detail::SolvableIterator::SolvableIterator
SolvableIterator()
Definition Solvable.h:554
zypp::sat::detail::SolvableIterator::SolvableIterator
SolvableIterator(const Solvable &val_r)
Definition Solvable.h:558
zypp::sat::detail::SolvableIterator::iterator_core_access
friend class boost::iterator_core_access
Definition Solvable.h:567
zypp::sat::detail::SolvableIterator::_val
Solvable _val
Definition Solvable.h:582
str
String related utilities and Regular expression matching.
zypp::sat::detail
Definition PoolImpl.cc:73
zypp::sat::detail::SolvableIdType
unsigned int SolvableIdType
Id type to connect Solvable and sat-solvable.
Definition PoolDefines.h:65
zypp::sat::detail::IdType
int IdType
Generic Id type.
Definition PoolDefines.h:44
zypp::sat::detail::CSolvable
::s_Solvable CSolvable
Wrapped libsolv C data type exposed as backdoor.
Definition PoolDefines.h:39
zypp::sat
Libsolv interface
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::dumpAsXmlOn
std::ostream & dumpAsXmlOn(std::ostream &str, const FileConflicts &obj)
relates: FileConflicts XML output
Definition FileConflicts.cc:132
zypp::sat::identical
bool identical(const Solvable &lhs, const Solvable &rhs)
relates: Solvable Test for same content.
Definition Solvable.h:498
zypp::sat::operator<<
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
relates: FileConflicts Stream output
Definition FileConflicts.cc:109
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::dumpOn
std::ostream & dumpOn(std::ostream &str, const LocaleSupport &obj)
relates: LocaleSupport More verbose stream output including dependencies
Definition LocaleSupport.cc:41
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::solver::detail
Definition PoolImpl.h:110
zypp
Easy-to use interface to the ZYPP dependency resolver.
Definition CodePitfalls.doc:2
zypp::LocaleSet
std::unordered_set< Locale > LocaleSet
Definition Locale.h:29
zypp::CapabilitySet
std::unordered_set< Capability > CapabilitySet
Definition Capability.h:35
zypp::kind
const ResKind ResTraits< Package >::kind(ResKind::package)
zypp::asUserString
std::string asUserString(VendorSupportOption opt)
converts the support option to a name intended to be printed to the user.
Definition VendorSupportOptions.cc:9
zypp::ZYPP_API
const Arch Arch_empty ZYPP_API
relates: Arch This is an empty Arch represented by an empty string.
Definition Arch.h:173
zypp::asString
std::string asString(const Patch::Category &obj)
relates: Patch::Category string representation.
Definition Patch.cc:122
zypp::resKind
ResKind resKind()
Convenient access to well known ResKinds.
Definition ResTraits.h:129
zypp::Dep
Enumeration class of dependency types.
Definition Dep.h:31
zypp::Dep::SUGGESTS_e
@ SUGGESTS_e
Definition Dep.h:64
zypp::Dep::REQUIRES_e
@ REQUIRES_e
Definition Dep.h:60
zypp::Dep::PREREQUIRES_e
@ PREREQUIRES_e
Definition Dep.h:59
zypp::Dep::RECOMMENDS_e
@ RECOMMENDS_e
Definition Dep.h:63
zypp::Dep::SUPPLEMENTS_e
@ SUPPLEMENTS_e
Definition Dep.h:66
zypp::Dep::PROVIDES_e
@ PROVIDES_e
Definition Dep.h:58
zypp::Dep::CONFLICTS_e
@ CONFLICTS_e
Definition Dep.h:61
zypp::Dep::ENHANCES_e
@ ENHANCES_e
Definition Dep.h:65
zypp::Dep::OBSOLETES_e
@ OBSOLETES_e
Definition Dep.h:62
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
zypp::sat::asSolvable
To Solvable transform functor.
Definition Solvable.h:598
zypp::sat::asSolvable::result_type
Solvable result_type
Definition Solvable.h:599
zypp::sat::asSolvable::operator()
Solvable operator()(const Solvable &solv_r) const
Definition Solvable.h:601
zypp::sat::detail::PoolMember
Backlink to the associated PoolImpl.
Definition PoolMember.h:53