|
libzypp 17.31.32
|
Base class for reference counted objects. More...
#include <base/ReferenceCounted.h>

Public Member Functions | |
| 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. | |
Static Public Member Functions | |
| 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. | |
Protected Member Functions | |
| virtual std::ostream & | dumpOn (std::ostream &str) const |
| Overload to realize std::ostream & operator<<. | |
| 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 Member Functions | |
| void | unrefException () const |
| Throws Exception on unref. | |
Private Attributes | |
| unsigned | _counter |
| The reference counter. | |
Friends | |
| std::ostream & | operator<< (std::ostream &str, const ReferenceCounted &obj) |
| Stream output via dumpOn. | |
Related Symbols | |
(Note that these are not member symbols.) | |
| 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. | |
Base class for reference counted objects.
Definition at line 33 of file ReferenceCounted.h.
| zypp::base::ReferenceCounted::ReferenceCounted | ( | ) |
| zypp::base::ReferenceCounted::ReferenceCounted | ( | const ReferenceCounted & | rhs | ) |
|
virtual |
Dtor.
| std::out_of_range | if reference count is not zero. |
Definition at line 33 of file ReferenceCounted.cc.
|
inline |
|
inline |
Return reference counter value.
Definition at line 62 of file ReferenceCounted.h.
|
inline |
Add a reference.
Definition at line 66 of file ReferenceCounted.h.
|
inline |
Release a reference.
Deletes the object if reference count gets zero.
| std::out_of_range | if reference count is zero. |
Definition at line 73 of file ReferenceCounted.h.
|
inlinestatic |
Called by zypp::intrusive_ptr to add a reference.
Definition at line 86 of file ReferenceCounted.h.
|
inlinestatic |
Called by zypp::intrusive_ptr to add a reference.
Definition at line 92 of file ReferenceCounted.h.
|
protectedvirtual |
Overload to realize std::ostream & operator<<.
Reimplemented in zypp::MediaSetAccess, zypp::parser::susetags::RepoIndex, zypp::ResObject, zypp::Resolvable, zypp::Target, zypp::target::rpm::BinHeader, zypp::target::rpm::librpmDb, zypp::target::rpm::RpmDb, zypp::target::rpm::RpmHeader, and zypp::target::TargetImpl.
Definition at line 47 of file ReferenceCounted.cc.
Trigger derived classes after refCount was increased.
Definition at line 100 of file ReferenceCounted.h.
Trigger derived classes after refCount was decreased.
No trigger is sent, if refCount got zero (i.e. the object is deleted).
Reimplemented in zypp::target::rpm::librpmDb.
Definition at line 106 of file ReferenceCounted.h.
|
private |
Throws Exception on unref.
Definition at line 41 of file ReferenceCounted.cc.
|
friend |
Stream output via dumpOn.
|
related |
intrusive_ptr hook to add_ref.
Definition at line 118 of file ReferenceCounted.h.
|
related |
intrusive_ptr hook to release.
Definition at line 122 of file ReferenceCounted.h.
|
related |
Stream output.
Definition at line 126 of file ReferenceCounted.h.
|
mutableprivate |
The reference counter.
Definition at line 110 of file ReferenceCounted.h.