GNU CommonC++
Public Member Functions | Protected Member Functions | Protected Attributes

ost::RefPointer Class Reference

Pointer to reference counted objects. More...

#include <object.h>

List of all members.

Public Member Functions

 RefPointer ()
 Create an unattached pointer.
 RefPointer (RefObject *obj)
 Create a pointer attached to a reference counted object.
 RefPointer (const RefPointer &ptr)
 A copy constructor.
virtual ~RefPointer ()
RefPointeroperator= (const RefObject &ref)
void * operator* () const
void * operator-> () const
void * getObject (void) const
bool operator! () const

Protected Member Functions

void detach (void)
 Detach current object, for example, when changing pointer.
virtual void enterLock (void)
 Patch point for mutex in derived class.
virtual void leaveLock (void)
 Patch point for a mutex in derived class.

Protected Attributes

RefObjectref

Detailed Description

Pointer to reference counted objects.

This is a non-template form of a reference count smart pointer, and so uses common code. This can be subclassed to return explicit object types.

Author:
David Sugar <dyfet@gnutelephony.org> Pointer to reference count managed objects.

Constructor & Destructor Documentation

ost::RefPointer::RefPointer ( ) [inline]

Create an unattached pointer.

ost::RefPointer::RefPointer ( RefObject obj)

Create a pointer attached to a reference counted object.

Object being referenced.

ost::RefPointer::RefPointer ( const RefPointer ptr)

A copy constructor.

Pointer being copied.

virtual ost::RefPointer::~RefPointer ( ) [virtual]

Member Function Documentation

void ost::RefPointer::detach ( void  ) [protected]

Detach current object, for example, when changing pointer.

virtual void ost::RefPointer::enterLock ( void  ) [protected, virtual]

Patch point for mutex in derived class.

This may often be a single static mutex shared by a managed type.

void* ost::RefPointer::getObject ( void  ) const
virtual void ost::RefPointer::leaveLock ( void  ) [protected, virtual]

Patch point for a mutex in derived class.

This may often be a single static mutex shared by a managed type.

bool ost::RefPointer::operator! ( ) const
void* ost::RefPointer::operator* ( ) const [inline]
void* ost::RefPointer::operator-> ( ) const [inline]
RefPointer& ost::RefPointer::operator= ( const RefObject ref)

Member Data Documentation


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