yast2-core
|
Base class wraping a Rep* and managing reference counting. More...
#include <Rep.h>
Public Member Functions | |
operator const void * () const | |
Protected Member Functions | |
BasicRepPtr () | |
BasicRepPtr (Rep *ptr) | |
BasicRepPtr (const BasicRepPtr &rhs) | |
BasicRepPtr & | operator= (const BasicRepPtr &rhs) |
~BasicRepPtr () | |
Rep * | repPtr () const |
Private Member Functions | |
void | _assign (Rep *new_r) |
Private Attributes | |
Rep * | _ptr |
Friends | |
std::ostream & | operator<< (std::ostream &str, const BasicRepPtr &obj) |
Base class wraping a Rep* and managing reference counting.
A BasicRepPtr is explicity constructed from a Rep*. It references Rep while it holds the pointer and adjusts the reference counter on copy and assignment.
It may serve as base for template classes operating on data classes derived from Rep. For example VarPtr.
|
inlineprotected |
Default ctor: NULL
|
inlineexplicitprotected |
|
inlineprotected |
References _ptr.
|
inlineprotected |
|
inlineprivate |
Takes care of reference counter when assigning _ptr a new value.
References Rep::ref(), and Rep::unref().
|
inline |
Allow easy test for NULL.
|
inlineprotected |
References _ptr.
|
inlineprotected |
Referenced by VarPtr< _Rep >::ptr().
|
friend |
Print out the Rep object.
|
private |
The Rep*.
Referenced by BasicRepPtr(), and operator=().