Base class for reference counted objects.
More...
#include <ReferenceCounted.h>
List of all members.
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 Attributes |
unsigned | _counter |
| The reference counter.
|
Detailed Description
Base class for reference counted objects.
- Todo:
- Make counter thread safe.
Definition at line 33 of file ReferenceCounted.h.
Constructor & Destructor Documentation
zypp::base::ReferenceCounted::ReferenceCounted |
( |
| ) |
|
zypp::base::ReferenceCounted::~ReferenceCounted |
( |
| ) |
|
|
virtual |
Dtor.
- Exceptions:
-
std::out_of_range | if reference count is not zero. |
Definition at line 33 of file ReferenceCounted.cc.
Member Function Documentation
unsigned zypp::base::ReferenceCounted::refCount |
( |
| ) |
const |
|
inline |
void zypp::base::ReferenceCounted::ref |
( |
| ) |
const |
|
inline |
void zypp::base::ReferenceCounted::unref |
( |
| ) |
const |
|
inline |
Release a reference.
Deletes the object if reference count gets zero.
- Exceptions:
-
std::out_of_range | if reference count is zero. |
Definition at line 73 of file ReferenceCounted.h.
static void zypp::base::ReferenceCounted::add_ref |
( |
const ReferenceCounted * |
ptr_r | ) |
|
|
inlinestatic |
static void zypp::base::ReferenceCounted::release |
( |
const ReferenceCounted * |
ptr_r | ) |
|
|
inlinestatic |
std::ostream & zypp::base::ReferenceCounted::dumpOn |
( |
std::ostream & |
str | ) |
const |
|
protectedvirtual |
Overload to realize std::ostream & operator<<.
Reimplemented in zypp::target::rpm::RpmDb, zypp::media::MediaAccess, zypp::target::rpm::librpmDb, zypp::MediaSetAccess, zypp::Target, zypp::ResObject, zypp::ZYpp, zypp::target::rpm::RpmHeader, zypp::solver::detail::Resolver, zypp::solver::detail::InjectSolutionAction, zypp::Resolvable, zypp::solver::detail::SATResolver, zypp::target::TargetImpl, zypp::solver::detail::TransactionSolutionAction, zypp::target::rpm::BinHeader, zypp::solver::detail::SolverQueueItem, zypp::parser::susetags::RepoIndex, zypp::solver::detail::SolverQueueItemInstallOneOf, zypp::solver::detail::SolverQueueItemDelete, zypp::solver::detail::SolverQueueItemInstall, zypp::solver::detail::SolverQueueItemLock, zypp::solver::detail::SolverQueueItemUpdate, and zypp::solver::detail::SolutionAction.
Definition at line 48 of file ReferenceCounted.cc.
virtual void zypp::base::ReferenceCounted::ref_to |
( |
unsigned |
| ) |
const |
|
inlineprotectedvirtual |
virtual void zypp::base::ReferenceCounted::unref_to |
( |
unsigned |
| ) |
const |
|
inlineprotectedvirtual |
void zypp::base::ReferenceCounted::unrefException |
( |
| ) |
const |
|
private |
Friends And Related Function Documentation
Stream output via dumpOn.
Member Data Documentation
unsigned zypp::base::ReferenceCounted::_counter |
|
mutableprivate |
The documentation for this class was generated from the following files: