Public Types | Public Member Functions | Private Attributes

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
Enumerator:
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: