GNU CommonC++
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ost::RefPointer Class Reference

Pointer to reference counted objects. More...

#include <object.h>

Public Member Functions

 RefPointer ()
 Create an unattached pointer. More...
 
 RefPointer (RefObject *obj)
 Create a pointer attached to a reference counted object. More...
 
 RefPointer (const RefPointer &ptr)
 A copy constructor. More...
 
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. More...
 
virtual void enterLock (void)
 Patch point for mutex in derived class. More...
 
virtual void leaveLock (void)
 Patch point for a mutex in derived class. More...
 

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.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org Pointer to reference count managed objects.

Constructor & Destructor Documentation

◆ RefPointer() [1/3]

ost::RefPointer::RefPointer ( )
inline

Create an unattached pointer.

◆ RefPointer() [2/3]

ost::RefPointer::RefPointer ( RefObject obj)

Create a pointer attached to a reference counted object.

Object being referenced.

◆ RefPointer() [3/3]

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

A copy constructor.

Pointer being copied.

◆ ~RefPointer()

virtual ost::RefPointer::~RefPointer ( )
virtual

Member Function Documentation

◆ detach()

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

Detach current object, for example, when changing pointer.

◆ enterLock()

virtual void ost::RefPointer::enterLock ( void  )
protectedvirtual

Patch point for mutex in derived class.

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

◆ getObject()

void* ost::RefPointer::getObject ( void  ) const

◆ leaveLock()

virtual void ost::RefPointer::leaveLock ( void  )
protectedvirtual

Patch point for a mutex in derived class.

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

◆ operator!()

bool ost::RefPointer::operator! ( ) const

◆ operator*()

void* ost::RefPointer::operator* ( ) const
inline

◆ operator->()

void* ost::RefPointer::operator-> ( ) const
inline

◆ operator=()

RefPointer& ost::RefPointer::operator= ( const RefObject ref)

Member Data Documentation

◆ ref

RefObject* ost::RefPointer::ref
protected

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