Homepage Demos Overview Downloads Tutorials Reference
Credits

ReferenceCounter Class Reference

#include <ReferenceCounter.h>

Inheritance diagram for ReferenceCounter:

Inheritance graph
[legend]
List of all members.

Detailed Description

Performs simple reference counting, will delete the object when removing the last reference.

Definition at line 11 of file ReferenceCounter.h.

Public Member Functions

 ReferenceCounter ()
 constructor
 ReferenceCounter (const ReferenceCounter &rc)
 copy constructor - uses autodelete setting of rc, but references will still start at 0
ReferenceCounteroperator= (const ReferenceCounter &rc)
 assignment operator - does nothing
virtual ~ReferenceCounter ()
 destructor - will std::cout a warning if still has references
virtual void AddReference ()
 adds one to references
virtual void RemoveReference ()
 subtracts one from references AND DELETES the object IF ZERO
virtual unsigned int GetReferences ()
 returns the number of references
void SetAutoDelete (bool b)
 if true, next time a RemoveReference() causes references to hit 0, the object will delete itself
bool GetAutoDelete ()
 returns RC_autodelete

Protected Attributes

unsigned int references
 the current number of references
bool RC_autodelete
 if false, prevents deletion when counter hits 0


Constructor & Destructor Documentation

ReferenceCounter::ReferenceCounter  )  [inline]
 

constructor

Definition at line 14 of file ReferenceCounter.h.

ReferenceCounter::ReferenceCounter const ReferenceCounter rc  )  [inline]
 

copy constructor - uses autodelete setting of rc, but references will still start at 0

Definition at line 16 of file ReferenceCounter.h.

virtual ReferenceCounter::~ReferenceCounter  )  [inline, virtual]
 

destructor - will std::cout a warning if still has references

Definition at line 21 of file ReferenceCounter.h.


Member Function Documentation

virtual void ReferenceCounter::AddReference  )  [inline, virtual]
 

adds one to references

Definition at line 27 of file ReferenceCounter.h.

Referenced by StateNode::addNode(), StateNode::addTransition(), BanditMachine::BanditMachine(), BehaviorSwitchControlBase::BehaviorSwitchControlBase(), BehaviorBase::DoStart(), BanditMachine::DecideNode::DoStart(), Transition::fire(), BehaviorActivatorControl::init(), ToggleControl::setRadioGroup(), and BehaviorSwitchControl< B, Al >::startmine().

bool ReferenceCounter::GetAutoDelete  )  [inline]
 

returns RC_autodelete

Definition at line 43 of file ReferenceCounter.h.

virtual unsigned int ReferenceCounter::GetReferences  )  [inline, virtual]
 

returns the number of references

Returns:
references

Definition at line 38 of file ReferenceCounter.h.

ReferenceCounter& ReferenceCounter::operator= const ReferenceCounter rc  )  [inline]
 

assignment operator - does nothing

Definition at line 18 of file ReferenceCounter.h.

Referenced by BehaviorBase::operator=().

virtual void ReferenceCounter::RemoveReference  )  [inline, virtual]
 

subtracts one from references AND DELETES the object IF ZERO

Definition at line 29 of file ReferenceCounter.h.

Referenced by BehaviorSwitchControl< B, Al >::BehaviorSwitchControl(), BanditMachine::DecideNode::DoStart(), StateNode::DoStop(), BehaviorBase::DoStop(), Transition::fire(), ToggleControl::setRadioGroup(), BehaviorSwitchControl< B, Al >::startmine(), BanditMachine::~BanditMachine(), BehaviorActivatorControl::~BehaviorActivatorControl(), BehaviorSwitchControl< B, Al >::~BehaviorSwitchControl(), and BehaviorSwitchControlBase::~BehaviorSwitchControlBase().

void ReferenceCounter::SetAutoDelete bool  b  )  [inline]
 

if true, next time a RemoveReference() causes references to hit 0, the object will delete itself

Definition at line 41 of file ReferenceCounter.h.

Referenced by BehaviorBase::~BehaviorBase(), and FreeMemReportControl::~FreeMemReportControl().


Member Data Documentation

bool ReferenceCounter::RC_autodelete [protected]
 

if false, prevents deletion when counter hits 0

Definition at line 50 of file ReferenceCounter.h.

unsigned int ReferenceCounter::references [protected]
 

the current number of references

Definition at line 47 of file ReferenceCounter.h.


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

Tekkotsu v2.2
Generated Tue Oct 19 14:20:22 2004 by Doxygen 1.3.9.1