libzypp 17.32.2
|
Base for resolvable objects. More...
#include <Resolvable.h>
Public Types | |
using | Self = Resolvable |
using | TraitsType = ResTraits<Self> |
using | Kind = TraitsType::KindType |
using | Ptr = TraitsType::PtrType |
using | constPtr = TraitsType::constPtrType |
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. | |
![]() | |
SolvableType () | |
SolvableType (const SolvableType &)=default | |
SolvableType (SolvableType &&) noexcept=default | |
SolvableType & | operator= (const SolvableType &)=default |
SolvableType & | operator= (SolvableType &&) noexcept=default |
~SolvableType () | |
![]() | |
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. | |
![]() | |
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. | |
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. | |
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. | |
![]() | |
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 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. | |
![]() | |
Capabilities | const |
Base for resolvable objects.
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.
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.
Definition at line 55 of file Resolvable.h.
Definition at line 56 of file Resolvable.h.
Definition at line 57 of file Resolvable.h.
Definition at line 58 of file Resolvable.h.
Definition at line 59 of file Resolvable.h.
|
protected |
Ctor.
Definition at line 21 of file Resolvable.cc.
|
overrideprotected |
Dtor.
Definition at line 25 of file Resolvable.cc.
|
inlineexplicit |
This is a sat::SolvableType.
Definition at line 63 of file Resolvable.h.
PoolItem zypp::Resolvable::poolItem | ( | ) | const |
Access the corresponding PoolItem.
Definition at line 28 of file Resolvable.cc.
|
overrideprotectedvirtual |
Helper for stream output.
Reimplemented from zypp::base::ReferenceCounted.
Definition at line 31 of file Resolvable.cc.
|
friend |
|
related |
Stream output.
Definition at line 83 of file Resolvable.h.
|
related |
More verbose stream output including dependencies.
Definition at line 87 of file Resolvable.h.
|
related |
Test whether a Resolvable::Ptr is of a certain Kind.
Ture
iff p is not NULL
and points to a Resolvable of the specified Kind.Definition at line 99 of file Resolvable.h.
Convert Resolvable::Ptr into Ptr of a certain Kind.
NULL
iff p is NULL
or points to a Resolvable not of the specified Kind.Definition at line 122 of file Resolvable.h.
|
related |
Compare Resolvable::constPtr according to kind and name.
Definition at line 134 of file Resolvable.h.
|
related |
Compare according to kind, name and edition.
Definition at line 148 of file Resolvable.h.
|
related |
Compare Resolvable::constPtr according to kind, name, edition and arch.
Definition at line 162 of file Resolvable.h.
|
private |
Definition at line 78 of file Resolvable.h.