GNU CommonC++
ost::RefPointer Class Reference

Pointer to reference counted objects. More...

#include <object.h>

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.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.

References ref.

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

◆ 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.

References RefPointer().

◆ ~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

Referenced by operator*(), and operator->().

◆ 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

References getObject().

◆ operator->()

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

References getObject().

◆ operator=()

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

References ref, and RefPointer().

Member Data Documentation

◆ ref

RefObject* ost::RefPointer::ref
protected

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


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