UCommon
Public Member Functions | Protected Member Functions | Protected Attributes
ost::RefPointer Class Reference

Pointer to reference counted objects. More...

#include <object.h>

Collaboration diagram for ost::RefPointer:
Collaboration graph
[legend]

Public Member Functions

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

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

Definition at line 107 of file object.h.

Constructor & Destructor Documentation

◆ RefPointer() [1/2]

ost::RefPointer::RefPointer ( RefObject obj)

Create a pointer attached to a reference counted object.

Object being referenced.

◆ RefPointer() [2/2]

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.


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