ML Reference
|
RefCountedBase class adds intrusive reference counting support to the Base class. More...
#include <mlRefCountedBase.h>
Public Member Functions | |
RefCountedBase () | |
Constructor. | |
RefCountedBase (const RefCountedBase &) | |
Explicit copy constructor. | |
virtual void | incRefCount () const |
Increase reference count. | |
virtual void | decRefCount () const |
Decrease ref count (object will be deleted if ref count is decremented to 0) | |
bool | isRefCountedBase () const override |
Returns if the instance is derived from RefCountedBase. | |
Public Member Functions inherited from ml::EventSource | |
EventSource () | |
EventSource (const EventSource &evSource) | |
~EventSource () override | |
void | addEventListener (BaseEventCallback *cb, void *userData) |
add event listener callback to this Base object - the userData will be the first argument when the callback is called | |
void | removeEventListener (BaseEventCallback *cb, void *userData) |
remove event listener callback from this Base object - arguments must be the same as for the addEventListener call | |
bool | hasEventListeners () const |
check if any event listeners have been added to this Base object; this can be used to skip the sendEvent call (and the potentially expensive building of the event object) altogether | |
Public Member Functions inherited from ml::Base | |
Base () | |
Constructor. | |
virtual | ~Base () |
Destructor. | |
virtual Base * | deepCopy () const |
Set addStateToTree version number that can be accessed via getAddStateVersion() | |
bool | isOfAllowedType (const std::vector< const RuntimeType * > &types) const |
Check if this object's type is equal to or derived from one of the types given in the argument. | |
virtual std::string | detailString () const |
Return a string describing this object. | |
virtual bool | implementsPersistence (PersistenceInterface) const |
Override this method to declare which persistence interfaces are implemented by your derived class. | |
virtual std::string | persistentState () const |
Returns a string describing the object's internal state. | |
virtual void | setPersistentState (const std::string &state) |
Restores the object's internal state from a string that had been previously generated using persistentState() . | |
virtual void | addStateToTree (TreeNode *) const |
Attaches the object state as children of the given parent node. | |
virtual void | readStateFromTree (TreeNode *) |
Reads the object state from the children of the given parent node. | |
virtual void | writeTo (AbstractPersistenceOutputStream *) const |
Write the objects state to the data stream object. | |
virtual void | readFrom (AbstractPersistenceInputStream *, int) |
Read the objects state from the data stream object. | |
Static Public Member Functions | |
static void | updateReferenceCountingIfSupported (Base *oldValue, Base *newValue, bool &isRefCountedBase) |
Helper method that handles inc/dec of ref count if base instances support it. | |
Protected Member Functions | |
~RefCountedBase () override | |
Macro for the declaration of the runtime type system methods, defined in mlRuntimeSubClass.h. | |
Protected Member Functions inherited from ml::EventSource | |
void | sendEvent (BaseEvent *event, void *skipListener=nullptr) |
Macro for the declaration of the runtime type system methods, defined in mlRuntimeSubClass.h. | |
Protected Attributes | |
MLint32 | _refCount |
Reference count. | |
Additional Inherited Members | |
Public Types inherited from ml::Base | |
enum | PersistenceInterface { PersistenceByString , PersistenceByTreeNode , PersistenceByStream } |
This enum describes the different persistence interfaces available. More... | |
RefCountedBase class adds intrusive reference counting support to the Base class.
It should be used together with boost::intrusive_ptr and the ML_REFCOUNTED_PTR macro.
Definition at line 29 of file mlRefCountedBase.h.
ml::RefCountedBase::RefCountedBase | ( | ) |
Constructor.
ml::RefCountedBase::RefCountedBase | ( | const RefCountedBase & | ) |
Explicit copy constructor.
|
overrideprotected |
Macro for the declaration of the runtime type system methods, defined in mlRuntimeSubClass.h.
Destructor.
|
virtual |
Decrease ref count (object will be deleted if ref count is decremented to 0)
|
virtual |
Increase reference count.
|
inlineoverridevirtual |
Returns if the instance is derived from RefCountedBase.
Reimplemented from ml::Base.
Definition at line 45 of file mlRefCountedBase.h.
|
static |
Helper method that handles inc/dec of ref count if base instances support it.
It decrements the ref count of oldValue if supported and not NULL. It increments the ref count of newValue if supported and not NULL. isRefCountedBase must indicate if oldValue supported ref counting. isRefCountedBase will be set to true if the newValue supports ref counting.
|
mutableprotected |
Reference count.
Definition at line 63 of file mlRefCountedBase.h.