Bayonne2 / Common C++ 2 Framework
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | Friends
RefObject Class Referenceabstract

A reference countable object. More...

#include <object.h>

Collaboration diagram for RefObject:
Collaboration graph
[legend]

Public Member Functions

virtual void * getObject (void)=0
 The actual object being managed can be returned by this method as a void and then recast to the actual type. More...
 

Protected Member Functions

 RefObject ()
 The constructor simply initializes the count. More...
 
virtual ~RefObject ()
 The destructor is called when the reference count returns to zero. More...
 

Protected Attributes

unsigned refCount
 

Friends

class RefPointer
 

Detailed Description

A reference countable object.

This is used in association with smart pointers (RefPointer).

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org Object managed by smart pointer reference count.

Definition at line 66 of file object.h.

Constructor & Destructor Documentation

RefObject::RefObject ( )
inlineprotected

The constructor simply initializes the count.

Definition at line 76 of file object.h.

virtual RefObject::~RefObject ( )
protectedvirtual

The destructor is called when the reference count returns to zero.

This is done through a virtual destructor.

Member Function Documentation

virtual void* RefObject::getObject ( void  )
pure virtual

The actual object being managed can be returned by this method as a void and then recast to the actual type.

This removes the need to dynamic cast from RefObject and the dependence on rtti this implies.

Returns
underlying object being referenced.

Friends And Related Function Documentation

friend class RefPointer
friend

Definition at line 69 of file object.h.

Field Documentation

unsigned RefObject::refCount
protected

Definition at line 71 of file object.h.


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