BasicRepPtr Class Reference

Base class wraping a Rep* and managing reference counting. More...

#include <Rep.h>

Inheritance diagram for BasicRepPtr:

VarPtr< _Rep >

List of all members.

Public Member Functions

 operator const void * () const

Protected Member Functions

 BasicRepPtr ()
 BasicRepPtr (Rep *ptr)
 BasicRepPtr (const BasicRepPtr &rhs)
BasicRepPtroperator= (const BasicRepPtr &rhs)
 ~BasicRepPtr ()
ReprepPtr () const

Private Member Functions

void _assign (Rep *new_r)

Private Attributes

Rep_ptr

Friends

std::ostream & operator<< (std::ostream &str, const BasicRepPtr &obj)


Detailed Description

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.


Constructor & Destructor Documentation

BasicRepPtr::BasicRepPtr (  )  [inline, protected]

Default ctor: NULL

BasicRepPtr::BasicRepPtr ( Rep ptr  )  [inline, explicit, protected]

BasicRepPtr::BasicRepPtr ( const BasicRepPtr rhs  )  [inline, protected]

BasicRepPtr::~BasicRepPtr (  )  [inline, protected]


Member Function Documentation

BasicRepPtr::operator const void * (  )  const [inline]

Allow easy test for NULL.

BasicRepPtr& BasicRepPtr::operator= ( const BasicRepPtr rhs  )  [inline, protected]

Rep* BasicRepPtr::repPtr (  )  const [inline, protected]

Returns:
The Rep*.

Referenced by VarPtr< _Rep >::ptr().

void BasicRepPtr::_assign ( Rep new_r  )  [inline, private]

Takes care of reference counter when assigning _ptr a new value.

References Rep::ref(), and Rep::unref().


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  str,
const BasicRepPtr obj 
) [friend]

Print out the Rep object.


Member Data Documentation

Rep* BasicRepPtr::_ptr [private]

The Rep*.

Referenced by BasicRepPtr(), and operator=().


The documentation for this class was generated from the following file:

Generated on Wed Dec 3 07:24:55 2008 for yast2-core by  doxygen 1.5.6