#include <ReferenceCounted.h>
Inheritance diagram for zypp::base::ReferenceCounted:
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) |
Related Functions | |
(Note that these are not member functions.) | |
void | intrusive_ptr_add_ref (const ReferenceCounted *ptr_r) |
void | intrusive_ptr_release (const ReferenceCounted *ptr_r) |
Definition at line 33 of file ReferenceCounted.h.
|
Default ctor. Initial reference count is zero. Definition at line 25 of file ReferenceCounted.cc. |
|
Copy ctor. Initial reference count is zero. Definition at line 29 of file ReferenceCounted.cc. |
|
Dtor.
Definition at line 33 of file ReferenceCounted.cc. |
|
Assignment. Reference count remains untouched. Definition at line 57 of file ReferenceCounted.h. |
|
Return reference counter value.
Definition at line 62 of file ReferenceCounted.h. References _counter. |
|
Add a reference.
Definition at line 66 of file ReferenceCounted.h. References _counter, and ref_to(). Referenced by add_ref(), and zypp::source::SourceImpl::Verifier::isDesiredMedia(). |
|
Release a reference. Deletes the object if reference count gets zero.
Definition at line 73 of file ReferenceCounted.h. References _counter, unref_to(), and unrefException(). Referenced by release(). |
|
Called by zypp::intrusive_ptr to add a reference.
Definition at line 86 of file ReferenceCounted.h. References ref(). Referenced by intrusive_ptr_add_ref(). |
|
Called by zypp::intrusive_ptr to add a reference.
Definition at line 92 of file ReferenceCounted.h. References unref(). Referenced by intrusive_ptr_release(). |
|
|
Trigger derived classes after refCount was increased.
Definition at line 100 of file ReferenceCounted.h. Referenced by ref(). |
|
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. Referenced by unref(). |
|
Throws Exception on unref.
Definition at line 42 of file ReferenceCounted.cc. References INT. Referenced by unref(). |
|
Stream output. Definition at line 126 of file ReferenceCounted.h. |
|
intrusive_ptr hook to add_ref. Definition at line 118 of file ReferenceCounted.h. References add_ref(). |
|
intrusive_ptr hook to release. Definition at line 122 of file ReferenceCounted.h. References release(). |
|
The reference counter.
Definition at line 110 of file ReferenceCounted.h. Referenced by dumpOn(), ref(), refCount(), unref(), and ~ReferenceCounted(). |