VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends
DtObjectCounter Class Reference

Single static counter.

Public Types

typedef unsigned long long CounterType
 
typedef tbb::atomic< CounterTypeAtomicType
 
typedef boost::function
< std::string()> 
NameFunction
 

Public Member Functions

 DtObjectCounter (const NameFunction &, size_t size=1, bool enable=true, const DtObjectContainer *container=0)
 
 DtObjectCounter (const std::string &, size_t size=1, bool enable=true, const DtObjectContainer *container=0)
 
 ~DtObjectCounter ()
 
CounterType value () const
 
CounterType total () const
 
size_t size () const
 
size_t totalSize () const
 
const DtObjectContainer * objects () const
 

Static Public Member Functions

static void Init ()
 
static std::string Print (std::string regex="")
 
static std::string PrettyPrintSize (size_t)
 
static std::string DetectLeaks ()
 

Private Member Functions

CounterType increment ()
 
void decrement ()
 
 DtObjectCounter (const DtObjectCounter &)
 
void operator= (const DtObjectCounter &)
 

Private Attributes

AtomicType myCount
 
AtomicType myTotal
 
const size_t mySize
 
const bool myEnableFlag
 
const DtObjectContainer * myObjects
 

Friends

template<typename D , bool Enable>
class DtObjectDebugger
 

Member Typedef Documentation

typedef boost::function<std::string ()> DtObjectCounter::NameFunction

Constructor & Destructor Documentation

DtObjectCounter::DtObjectCounter ( const NameFunction ,
size_t  size = 1,
bool  enable = true,
const DtObjectContainer *  container = 0 
)
explicit

Add to counter container.

DtObjectCounter::DtObjectCounter ( const std::string &  ,
size_t  size = 1,
bool  enable = true,
const DtObjectContainer *  container = 0 
)
explicit

Add to counter container.

DtObjectCounter::~DtObjectCounter ( )

Remove from counter container.

DtObjectCounter::DtObjectCounter ( const DtObjectCounter )
private

Not defined.

Member Function Documentation

static void DtObjectCounter::Init ( )
static

Call as early as possible to initialize statics for this class.

static std::string DtObjectCounter::Print ( std::string  regex = "")
static
static std::string DtObjectCounter::PrettyPrintSize ( size_t  )
static
static std::string DtObjectCounter::DetectLeaks ( )
static
CounterType DtObjectCounter::value ( ) const
inline

Current value of counter.

Referenced by DtObjectDebugger< D, Enable >::ObjectCount().

CounterType DtObjectCounter::total ( ) const
inline

Total number of objects ever created.

size_t DtObjectCounter::size ( ) const
inline

Size of each counter piece of data.

size_t DtObjectCounter::totalSize ( ) const
inline

Total size in bytes of all data.

const DtObjectContainer* DtObjectCounter::objects ( ) const
inline

Access tracked objects.

CounterType DtObjectCounter::increment ( )
inlineprivate

Increment this counter.

Referenced by DtObjectDebugger< D, Enable >::DtObjectDebugger().

void DtObjectCounter::decrement ( )
inlineprivate

Decrement this counter.

Referenced by DtObjectDebugger< D, Enable >::~DtObjectDebugger().

void DtObjectCounter::operator= ( const DtObjectCounter )
private

Not defined.

Friends And Related Function Documentation

template<typename D , bool Enable>
friend class DtObjectDebugger
friend

Member Data Documentation

AtomicType DtObjectCounter::myCount
private

Static counter.

AtomicType DtObjectCounter::myTotal
private
const size_t DtObjectCounter::mySize
private
const bool DtObjectCounter::myEnableFlag
private
const DtObjectContainer* DtObjectCounter::myObjects
private

Track individual objects.


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

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)