Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

scim::ReferencedObject Class Reference
[AccessoriesAccessories]

Reference counted base class. More...

#include <scim_object.h>

Inheritance diagram for scim::ReferencedObject:

Inheritance graph
[legend]
List of all members.

Public Member Functions

bool is_referenced () const
void ref ()
 Increase an object's reference count by one.
void unref ()

Protected Member Functions

 ReferencedObject ()
 Constructor.
virtual ~ReferencedObject ()=0
 Destructor.
void set_referenced (bool reference)

Detailed Description

Reference counted base class.

ReferencedObject is a reference counting base class. it has an integer reference counter so that dynamic objects can have their memory allocation handled by the scim smart pointer: Pointer<>. This keeps the memory management in scim consistent across all classes. If you derive a class from ReferencedObject and allocate it on the heap, you free the memory and destroy the object by calling unref(), not delete.


Constructor & Destructor Documentation

scim::ReferencedObject::ReferencedObject  )  [protected]
 

Constructor.

virtual scim::ReferencedObject::~ReferencedObject  )  [protected, pure virtual]
 

Destructor.


Member Function Documentation

void scim::ReferencedObject::set_referenced bool  reference  )  [protected]
 

Set the internal referenced flag. <

Parameters:
reference - true if the initial reference count must be removed by owner. < <
Called by derived classes to set the referenced flag. A object sets this flag < to true , indicating that it owns the initial reference count and unref() must be called.

bool scim::ReferencedObject::is_referenced  )  const
 

The referenced flag setting. <

Returns:
true if unref() must be explicitly called on this object.

void scim::ReferencedObject::ref  ) 
 

Increase an object's reference count by one.

void scim::ReferencedObject::unref  ) 
 

Decrease an object's reference count by one. < When the reference count becomes zero delete is called. Remember, with ReferencedObject < you must call unref() on dynmaically allocated objects, not delete.


The documentation for this class was generated from the following file:
Generated on Sat Mar 12 01:15:50 2005 for scim by doxygen 1.3.8