Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Logging::RefCounted< P > Class Template Reference

#include <loggingBaseLog.h>

List of all members.

Public Types

enum  { destructiveCopy = false }

Public Member Functions

 RefCounted ()
 RefCounted (const RefCounted &rhs)
template<typename P1>  RefCounted (const RefCounted< P1 > &rhs)
Clone (const P &val)
bool Release (const P &)
void Swap (RefCounted &rhs)

Private Attributes

unsigned int * pCount_


Detailed Description

template<class P>
class Logging::RefCounted< P >

Because of a bug within the Loki smart pointer library which semi-randomly causes assert failures when exiting executables (i.e., at container shutdown), it it necessary to provide our own implementation of RefCounted which does not use the the Loki SmallObj class. RefCounted is the implementation of a classic external reference counting implementation of the OwnerShipPolicy used by loki::SmartPtr. It's based on the class of the same name defined in $ACSROOT/include/lokiSmartPtr.h


Member Enumeration Documentation

template<class P>
anonymous enum
 

Enumeration values:
destructiveCopy 


Constructor & Destructor Documentation

template<class P>
Logging::RefCounted< P >::RefCounted  )  [inline]
 

template<class P>
Logging::RefCounted< P >::RefCounted const RefCounted< P > &  rhs  )  [inline]
 

template<class P>
template<typename P1>
Logging::RefCounted< P >::RefCounted const RefCounted< P1 > &  rhs  )  [inline]
 


Member Function Documentation

template<class P>
P Logging::RefCounted< P >::Clone const P &  val  )  [inline]
 

template<class P>
bool Logging::RefCounted< P >::Release const P &   )  [inline]
 

template<class P>
void Logging::RefCounted< P >::Swap RefCounted< P > &  rhs  )  [inline]
 


Member Data Documentation

template<class P>
unsigned int* Logging::RefCounted< P >::pCount_ [private]
 


The documentation for this class was generated from the following file:
Generated on Thu Apr 30 02:37:27 2009 for ACS C++ API by doxygen 1.3.8