| libzypp 17.37.10
    | 
Base class for reference counted objects. More...
#include <zypp-core/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 34 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 63 of file ReferenceCounted.h.
| 
 | inline | 
Add a reference.
Definition at line 67 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 74 of file ReferenceCounted.h.
| 
 | inlinestatic | 
Called by zypp::intrusive_ptr to add a reference.
Definition at line 87 of file ReferenceCounted.h.
| 
 | inlinestatic | 
Called by zypp::intrusive_ptr to add a reference.
Definition at line 93 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.
| 
 | inlineprotectedvirtual | 
Trigger derived classes after refCount was increased.
Reimplemented in zyppng::AttachedMediaInfo.
Definition at line 101 of file ReferenceCounted.h.
| 
 | inlineprotectedvirtual | 
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 107 of file ReferenceCounted.h.
| 
 | private | 
Throws Exception on unref.
Definition at line 41 of file ReferenceCounted.cc.
| 
 | friend | 
Stream output via dumpOn.
| 
 | 
intrusive_ptr hook to add_ref.
Definition at line 119 of file ReferenceCounted.h.
| 
 | 
intrusive_ptr hook to release.
Definition at line 123 of file ReferenceCounted.h.
| 
 | 
Stream output.
Definition at line 127 of file ReferenceCounted.h.
| 
 | mutableprivate | 
The reference counter.
Definition at line 111 of file ReferenceCounted.h.