bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
agg_util::RCObjectInterface Class Referenceabstract

#include <RCObjectInterface.h>

Inheritance diagram for agg_util::RCObjectInterface:
Inheritance graph
Collaboration diagram for agg_util::RCObjectInterface:
Collaboration graph

Public Member Functions

virtual int getRefCount () const =0
 
virtual int ref () const =0
 
virtual void removeFromPool () const =0
 
virtual std::string toString () const =0
 
virtual int unref () const =0
 

Detailed Description

Interface class for a reference counted object.

Definition at line 39 of file RCObjectInterface.h.

Member Function Documentation

◆ getRefCount()

virtual int agg_util::RCObjectInterface::getRefCount ( ) const
pure virtual

Get the current reference count

Implemented in agg_util::RCObject, and RCObject.

◆ ref()

virtual int agg_util::RCObjectInterface::ref ( ) const
pure virtual

Increase the reference count by one. const since we do not consider the ref count part of the semantic constness of the rep

Implemented in agg_util::RCObject, and RCObject.

◆ removeFromPool()

virtual void agg_util::RCObjectInterface::removeFromPool ( ) const
pure virtual

If the object is in an auto-delete pool, remove it from the pool and force it to only delete when it's ref count goes to 0. Useful when we desire a particular object stay around outside of the pool's lifetime.

Implemented in agg_util::RCObject, and RCObject.

◆ toString()

◆ unref()

virtual int agg_util::RCObjectInterface::unref ( ) const
pure virtual

Decrease the reference count by one. If it goes from 1 to 0, delete this and this is no longer valid.

Returns
the new ref count. If it is 0, the called knows the object was deleted.

It is illegal to unref() an object with a count of 0. We don't throw to allow use in dtors, so the caller is to not do it!

const since the reference count is not part of the semantic constness of the rep

Implemented in agg_util::RCObject, and RCObject.


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