UCommon
ost::RefPointer Class Reference

Pointer to reference counted objects. More...

#include <object.h>

Collaboration diagram for ost::RefPointer:

Public Member Functions

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

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.

Definition at line 107 of file object.h.

Constructor & Destructor Documentation

◆ RefPointer() [1/3]

ost::RefPointer::RefPointer ( )
inline

Create an unattached pointer.

Definition at line 133 of file object.h.

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

Member Function Documentation

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

◆ 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*()

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

Definition at line 155 of file object.h.

Field Documentation

◆ ref

RefObject* ost::RefPointer::ref
protected

Definition at line 110 of file object.h.


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