libzypp 17.37.10

zypp::Resolvable Class Reference

Base for resolvable objects. More...

`#include <zypp/Resolvable.h>`

Inheritance diagram for zypp::Resolvable:

## Public Types
using | Self = Resolvable
using | TraitsType = ResTraits<Self>
using | Kind = TraitsType::KindType
using | Ptr = TraitsType::PtrType
using | constPtr = TraitsType::constPtrType

## Public Member Functions
| operator sat::Solvable () const
| This is a sat::SolvableType.
PoolItem | poolItem () const
| Access the corresponding PoolItem.
Public Member Functions inherited from zypp::sat::SolvableType< Resolvable >
Solvable | satSolvable () const
| Return the corresponding sat::Solvable.
| operator bool () const
IdString | ident () const
ResKind | kind () const
std::string | name () const
Edition | edition () const
Arch | arch () const
IdString | vendor () const
Repository | repository () const
RepoInfo | repoInfo () const
bool | isSystem () const
bool | onSystemByUser () const
bool | onSystemByAuto () const
bool | identIsAutoInstalled () const
bool | multiversionInstall () const
bool | isNeedreboot () const
bool | isBlacklisted () const
bool | isRetracted () const
bool | isPtf () const
bool | isPtfMaster () const
bool | isPtfPackage () const
Date | buildtime () const
Date | installtime () const
std::string | asString () const
std::string | asUserString () const
Capabilities | dep_provides () const
Capabilities | dep_requires () const
Capabilities | dep_conflicts () const
Capabilities | dep_obsoletes () const
Capabilities | dep_recommends () const
Capabilities | dep_suggests () const
Capabilities | dep_enhances () const
Capabilities | dep_supplements () const
Capabilities | dep_prerequires () const
Capabilities | dep (Dep which_r) const
Capabilities | operator[] (Dep which_r) const
Capabilities | provides () const
Capabilities | conflicts () const
Capabilities | obsoletes () const
Capabilities | recommends () const
Capabilities | suggests () const
Capabilities | enhances () const
Capabilities | supplements () const
Capabilities | prerequires () const
CapabilitySet | providesNamespace (const std::string &namespace_r) const
CapabilitySet | valuesOfNamespace (const std::string &namespace_r) const
bool | supportsLocales () const
bool | supportsLocale (const Locale &locale_r) const
bool | supportsRequestedLocales () const
LocaleSet | getSupportedLocales () const
CpeId | cpeId () const
unsigned | mediaNr () const
ByteCount | installSize () const
ByteCount | downloadSize () const
std::string | distribution () const
std::string | summary (const Locale &lang_r=Locale()) const
std::string | description (const Locale &lang_r=Locale()) const
std::string | insnotify (const Locale &lang_r=Locale()) const
std::string | delnotify (const Locale &lang_r=Locale()) const
std::string | licenseToConfirm (const Locale &lang_r=Locale()) const
bool | needToAcceptLicense () const
std::string | lookupStrAttribute (const SolvAttr &attr) const
bool | lookupBoolAttribute (const SolvAttr &attr) const
detail::IdType | lookupIdAttribute (const SolvAttr &attr) const
unsigned long long | lookupNumAttribute (const SolvAttr &attr) const
CheckSum | lookupCheckSumAttribute (const SolvAttr &attr) const
OnMediaLocation | lookupLocation () const
Solvable::IdType | id () const
Public Member Functions inherited from zypp::base::ReferenceCounted
| ReferenceCounted ()
| Default ctor.
| ReferenceCounted (const ReferenceCounted &rhs)
| Copy ctor.
virtual | ~ReferenceCounted ()
| Dtor.
ReferenceCounted & | operator= (const ReferenceCounted &)
| Assignment.
unsigned | refCount () const
| Return reference counter value.
void | ref () const
| Add a reference.
void | unref () const
| Release a reference.

## Protected Member Functions
| Resolvable (const sat::Solvable &solvable_r)
| Ctor.
| ~Resolvable () override
| Dtor.
std::ostream & | dumpOn (std::ostream &str) const override
| Helper for stream output.
Protected Member Functions inherited from zypp::sat::SolvableType< Resolvable >
| SolvableType ()
SolvableType & | operator= (const SolvableType &)=default
| ~SolvableType ()
Protected Member Functions inherited from zypp::base::ReferenceCounted
virtual void | ref_to (unsigned) const
| Trigger derived classes after refCount was increased.
virtual void | unref_to (unsigned) const
| Trigger derived classes after refCount was decreased.

## Private Attributes
sat::Solvable | _solvable

## Friends
std::ostream & | operator<< (std::ostream &str, const Resolvable &obj)

## Related Symbols
(Note that these are not member symbols.)
std::ostream & | operator<< (std::ostream &str, const Resolvable &obj)
| Stream output.
std::ostream & | dumpOn (std::ostream &str, const Resolvable &obj)
| More verbose stream output including dependencies.
template<class TRes>
bool | isKind (const Resolvable::constPtr &p)
| Test whether a Resolvable::Ptr is of a certain Kind.
template<class TRes>
ResTraits< TRes >::PtrType | asKind (const Resolvable::Ptr &p)
| Convert Resolvable::Ptr into Ptr of a certain Kind.
int | compareByN (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
| Compare Resolvable::constPtr according to kind and name.
int | compareByNVR (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
| Compare according to kind, name and edition.
int | compareByNVRA (const Resolvable::constPtr &lhs, const Resolvable::constPtr &rhs)
| Compare Resolvable::constPtr according to kind, name, edition and arch.
Related Symbols inherited from zypp::sat::SolvableType< Resolvable >
std::ostream & | operator<< (std::ostream &str, const SolvableType< Resolvable > &obj)
| Stream output.
std::ostream & | dumpOn (std::ostream &str, const SolvableType< Resolvable > &obj)
| More verbose stream output including dependencies.
bool | operator== (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Equal.
bool | operator!= (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| NotEqual.
bool | operator< (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Less.
bool | isKind (const SolvableType< Resolvable > &solvable_r)
| Test whether the Solvable is of a certain ResKind.
bool | identical (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Test for same content.
bool | sameNVRA (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Test for same name version release and arch.
int | compareByN (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Compare according to kind and name.
int | compareByNVR (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Compare according to kind, name and edition.
int | compareByNVRA (const SolvableType< LDerived > &lhs, const SolvableType< RDerived > &rhs)
| Compare according to kind, name, edition and arch.
Related Symbols inherited from zypp::base::ReferenceCounted
void | intrusive_ptr_add_ref (const ReferenceCounted *ptr_r)
| intrusive_ptr hook to add_ref.
void | intrusive_ptr_release (const ReferenceCounted *ptr_r)
| intrusive_ptr hook to release.
std::ostream & | operator<< (std::ostream &str, const ReferenceCounted &obj)
| Stream output.

## Additional Inherited Members
Static Public Member Functions inherited from zypp::base::ReferenceCounted
static void | add_ref (const ReferenceCounted *ptr_r)
| Called by zypp::intrusive_ptr to add a reference.
static void | release (const ReferenceCounted *ptr_r)
| Called by zypp::intrusive_ptr to add a reference.
Public Attributes inherited from zypp::sat::SolvableType< Resolvable >
Capabilities | const

## Detailed Description

Base for resolvable objects.

Note
  Resolvable is a SolvableType, which provides direct access to many of the underlying sat::Solvables properties. Don't add common properties here, but in sat::Solvable and extend sat::SolvableType.

In most cases you want to retrieve the common properties directly from a PoolItem or sat::Solvable. Construction from and explicit conversion to sat::Solvable are supported. Next goal is to get rid of the smart pointer hierarchy. A Resolvable is actually an unsigned and derived classes contain no data, so it makes little sense to wrap this into ReferenceCounted smart pointer.

Todo

  Merge with ResObject

  Get rid of refcout/smart_prt bloat, as this type is actually IdBased (i.e. sizeof(unsigned))

Definition at line 49 of file Resolvable.h.

## Member Typedef Documentation

## ◆ Self

using zypp::Resolvable::Self = Resolvable

Definition at line 55 of file Resolvable.h.

## ◆ TraitsType

using zypp::Resolvable::TraitsType = ResTraits<Self>

Definition at line 56 of file Resolvable.h.

## ◆ Kind

using zypp::Resolvable::Kind = TraitsType::KindType

Definition at line 57 of file Resolvable.h.

## ◆ Ptr

using zypp::Resolvable::Ptr = TraitsType::PtrType

Definition at line 58 of file Resolvable.h.

## ◆ constPtr

using zypp::Resolvable::constPtr = TraitsType::constPtrType

Definition at line 59 of file Resolvable.h.

## Constructor & Destructor Documentation

## ◆ Resolvable()

zypp::Resolvable::Resolvable | ( | const sat::Solvable & | solvable_r | ) |
| protected

Ctor.

Definition at line 21 of file Resolvable.cc.

## ◆ ~Resolvable()

zypp::Resolvable::~Resolvable | ( |  | ) |
| override protected

Dtor.

Definition at line 25 of file Resolvable.cc.

## Member Function Documentation

## ◆ operator sat::Solvable()

zypp::Resolvable::operator sat::Solvable | ( |  | ) | const
| inline explicit

This is a sat::SolvableType.

Definition at line 63 of file Resolvable.h.

## ◆ poolItem()

PoolItem zypp::Resolvable::poolItem | ( |  | ) | const

Access the corresponding PoolItem.

Definition at line 28 of file Resolvable.cc.

## ◆ dumpOn()

std::ostream & zypp::Resolvable::dumpOn | ( | std::ostream & | str | ) | const
| override protected virtual

Helper for stream output.

Reimplemented from zypp::base::ReferenceCounted.

Definition at line 31 of file Resolvable.cc.

## Friends And Related Symbol Documentation

## ◆ operator<< [1/2]

std::ostream & operator<< | ( | std::ostream & | str,
|  | const Resolvable & | obj )
| friend

## ◆ operator<<() [2/2]

std::ostream & operator<< | ( | std::ostream & | str,
|  | const Resolvable & | obj )
| related

Stream output.

Definition at line 83 of file Resolvable.h.

## ◆ dumpOn()

std::ostream & dumpOn | ( | std::ostream & | str,
|  | const Resolvable & | obj )
| related

More verbose stream output including dependencies.

Definition at line 87 of file Resolvable.h.

## ◆ isKind()

template<class TRes>

bool isKind | ( | const Resolvable::constPtr & | p | ) |
| related

Test whether a Resolvable::Ptr is of a certain Kind.

Returns
  `Ture` iff p is not `NULL` and points to a Resolvable of the specified Kind.

isKind<Package>(resPtr);
zypp::Resolvable::isKind
bool isKind(const Resolvable::constPtr &p)
Test whether a Resolvable::Ptr is of a certain Kind.
Definition Resolvable.h:99

Definition at line 99 of file Resolvable.h.

## ◆ asKind()

template<class TRes>

ResTraits< TRes >::PtrType asKind | ( | const Resolvable::Ptr & | p | ) |
| related

Convert Resolvable::Ptr into Ptr of a certain Kind.

Returns
  `NULL` iff p is `NULL` or points to a Resolvable not of the specified Kind.

asKind<Package>(resPtr);
zypp::Resolvable::asKind
ResTraits< TRes >::PtrType asKind(const Resolvable::Ptr &p)
Convert Resolvable::Ptr into Ptr of a certain Kind.
Definition Resolvable.h:122

Definition at line 122 of file Resolvable.h.

## ◆ compareByN()

int compareByN | ( | const Resolvable::constPtr & | lhs,
|  | const Resolvable::constPtr & | rhs )
| related

Compare Resolvable::constPtr according to kind and name.

Deprecated
  Get rid of refcout/smart_prt bloat, use

Definition at line 134 of file Resolvable.h.

## ◆ compareByNVR()

int compareByNVR | ( | const Resolvable::constPtr & | lhs,
|  | const Resolvable::constPtr & | rhs )
| related

Compare according to kind, name and edition.

Definition at line 148 of file Resolvable.h.

## ◆ compareByNVRA()

int compareByNVRA | ( | const Resolvable::constPtr & | lhs,
|  | const Resolvable::constPtr & | rhs )
| related

Compare Resolvable::constPtr according to kind, name, edition and arch.

Definition at line 162 of file Resolvable.h.

## Member Data Documentation

## ◆ _solvable

sat::Solvable zypp::Resolvable::_solvable
| private

Definition at line 78 of file Resolvable.h.

The documentation for this class was generated from the following files:

- zypp/Resolvable.h
- zypp/Resolvable.cc