QwAnalysis
QwObjectCounter< T > Class Template Reference

Memory management structure to count objects. More...

#include <QwObjectCounter.h>

+ Inheritance diagram for QwObjectCounter< T >:

Public Member Functions

 QwObjectCounter ()
 Default constructor. More...
 
 QwObjectCounter (const QwObjectCounter &)
 Copy constructor. More...
 
virtual ~QwObjectCounter ()
 Destructor. More...
 

Static Public Member Functions

static size_t GetObjectsCreated ()
 Get number of objects ever created. More...
 
static size_t GetObjectsAlive ()
 Get number of objects still alive. More...
 

Static Private Attributes

static size_t fObjectsCreated = 0
 Number of objects ever created. More...
 
static size_t fObjectsAlive = 0
 Number of objects still alive. More...
 

Detailed Description

template<typename T>
class QwObjectCounter< T >

Memory management structure to count objects.

This memory counter object can be publicly inherited from by Qweak classes. It applies the "curiously recurring template pattern", and I didn't make up that name.

Definition at line 24 of file QwObjectCounter.h.

Constructor & Destructor Documentation

template<typename T>
QwObjectCounter< T >::QwObjectCounter ( )
inline

Default constructor.

Definition at line 29 of file QwObjectCounter.h.

29  {
31  ++fObjectsAlive;
32  };
static size_t fObjectsCreated
Number of objects ever created.
static size_t fObjectsAlive
Number of objects still alive.
template<typename T>
QwObjectCounter< T >::QwObjectCounter ( const QwObjectCounter< T > &  )
inline

Copy constructor.

Definition at line 34 of file QwObjectCounter.h.

34  {
36  ++fObjectsAlive;
37  };
static size_t fObjectsCreated
Number of objects ever created.
static size_t fObjectsAlive
Number of objects still alive.
template<typename T>
virtual QwObjectCounter< T >::~QwObjectCounter ( )
inlinevirtual

Destructor.

Definition at line 39 of file QwObjectCounter.h.

39  {
40  --fObjectsAlive;
41  };
static size_t fObjectsAlive
Number of objects still alive.

Member Function Documentation

template<typename T>
static size_t QwObjectCounter< T >::GetObjectsAlive ( )
inlinestatic

Get number of objects still alive.

Definition at line 50 of file QwObjectCounter.h.

50  {
51  return fObjectsAlive;
52  };
static size_t fObjectsAlive
Number of objects still alive.
template<typename T>
static size_t QwObjectCounter< T >::GetObjectsCreated ( )
inlinestatic

Get number of objects ever created.

Definition at line 45 of file QwObjectCounter.h.

45  {
46  return fObjectsCreated;
47  };
static size_t fObjectsCreated
Number of objects ever created.

Field Documentation

template<typename T>
size_t QwObjectCounter< T >::fObjectsAlive = 0
staticprivate

Number of objects still alive.

Initialize objects still alive counter.

Definition at line 59 of file QwObjectCounter.h.

Referenced by QwObjectCounter< shortnode >::GetObjectsAlive(), QwObjectCounter< shortnode >::QwObjectCounter(), and QwObjectCounter< shortnode >::~QwObjectCounter().

template<typename T>
size_t QwObjectCounter< T >::fObjectsCreated = 0
staticprivate

Number of objects ever created.

Initialize objects ever created counter.

Definition at line 52 of file QwObjectCounter.h.

Referenced by QwObjectCounter< shortnode >::GetObjectsCreated(), and QwObjectCounter< shortnode >::QwObjectCounter().


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