Murl::SharedPointerPrivate::CounterBase Class Referenceabstract

The counter base class. More...

#include "murl_shared_pointer_private.h"

Inheritance diagram for Murl::SharedPointerPrivate::CounterBase:

Public Member Functions

void AddReference ()
 Add a shared pointer reference to the counter.
 
void ReleaseReference ()
 Release a shared pointer reference from the counter. More...
 
UInt32 GetCount ()
 Get current usage count. More...
 
void AddWeakReference ()
 Add a weak pointer reference to the counter.
 
void ReleaseWeakReference ()
 Release a weak pointer reference from the counter. More...
 

Protected Member Functions

 CounterBase ()
 Default constructor sets the reference counters to 1.
 
virtual ~CounterBase ()
 The destructor.
 
virtual void DeleteObject ()=0
 The object delete method.
 

Detailed Description

The counter base class.

Member Function Documentation

◆ ReleaseReference()

void Murl::SharedPointerPrivate::CounterBase::ReleaseReference ( )
inline

Release a shared pointer reference from the counter.

If this is the last reference the objects deletes itself.

References DeleteObject(), and ReleaseWeakReference().

Referenced by Murl::SharedPointerPrivate::SharedCounter::operator=(), and Murl::SharedPointerPrivate::SharedCounter::~SharedCounter().

◆ GetCount()

UInt32 Murl::SharedPointerPrivate::CounterBase::GetCount ( )
inline

Get current usage count.

Returns
The number of shared pointer references.

Referenced by Murl::SharedPointerPrivate::SharedCounter::GetCount(), and Murl::SharedPointerPrivate::WeakCounter::GetCount().

◆ ReleaseWeakReference()

void Murl::SharedPointerPrivate::CounterBase::ReleaseWeakReference ( )
inline

Release a weak pointer reference from the counter.

If this is the last reference the objects deletes itself.

Referenced by Murl::SharedPointerPrivate::WeakCounter::operator=(), ReleaseReference(), and Murl::SharedPointerPrivate::WeakCounter::~WeakCounter().


The documentation for this class was generated from the following file:
  • murl_shared_pointer_private.h


Copyright © 2011-2024 Spraylight GmbH.