CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Attributes | Private Attributes
ReferenceCountedPoolAllocated Class Reference

#include <ReferenceCounted.h>

Inheritance diagram for ReferenceCountedPoolAllocated:
BlockWipedPoolAllocated BasicTrajectoryState reco::BasicGhostTrackState reco::BasicTransientTrack TransientTrackingRecHit GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > reco::TrackGhostTrackState reco::VertexGhostTrackState reco::GsfTransientTrack reco::TrackTransientTrack reco::TransientTrackFromFTS GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > GCC11_FINAL< T, TOPO > TValidTrackingRecHit

Public Member Functions

void addReference () const
 
const
ReferenceCountedPoolAllocated
operator= (const ReferenceCountedPoolAllocated &)
 
 ReferenceCountedPoolAllocated ()
 
 ReferenceCountedPoolAllocated (const ReferenceCountedPoolAllocated &iRHS)
 
unsigned int references () const
 
void removeReference () const
 
virtual ~ReferenceCountedPoolAllocated ()
 
- Public Member Functions inherited from BlockWipedPoolAllocated
virtual ~BlockWipedPoolAllocated ()
 

Static Public Attributes

static int s_alive =0
 
static int s_referenced =0
 
- Static Public Attributes inherited from BlockWipedPoolAllocated
static int s_alive =0
 
static bool s_usePool =false
 

Private Attributes

unsigned int referenceCount_
 

Additional Inherited Members

- Static Public Member Functions inherited from BlockWipedPoolAllocated
static BlockWipedAllocatorallocator (size_t s)
 
static void operator delete (void *p, size_t s)
 
static void * operator new (size_t s, void *p)
 
static void * operator new (size_t s)
 
static BlockWipedAllocator::Stat stat (size_t s)
 
static void usePool ()
 

Detailed Description

Definition at line 139 of file ReferenceCounted.h.

Constructor & Destructor Documentation

ReferenceCountedPoolAllocated::ReferenceCountedPoolAllocated ( )
inline

Definition at line 149 of file ReferenceCounted.h.

References s_alive.

149  : referenceCount_(0) {
150  s_alive++;
151  }
ReferenceCountedPoolAllocated::ReferenceCountedPoolAllocated ( const ReferenceCountedPoolAllocated iRHS)
inline

Definition at line 153 of file ReferenceCounted.h.

References s_alive.

153  : referenceCount_(0) {
154  s_alive++;
155  }
virtual ReferenceCountedPoolAllocated::~ReferenceCountedPoolAllocated ( )
inlinevirtual

Definition at line 161 of file ReferenceCounted.h.

References s_alive.

161  {
162  s_alive--;
163  }

Member Function Documentation

void ReferenceCountedPoolAllocated::addReference ( ) const
inline

Definition at line 167 of file ReferenceCounted.h.

References referenceCount_, and s_referenced.

Referenced by intrusive_ptr_add_ref().

const ReferenceCountedPoolAllocated& ReferenceCountedPoolAllocated::operator= ( const ReferenceCountedPoolAllocated )
inline

Definition at line 157 of file ReferenceCounted.h.

157  {
158  return *this;
159  }
unsigned int ReferenceCountedPoolAllocated::references ( ) const
inline

Definition at line 175 of file ReferenceCounted.h.

References referenceCount_.

175 {return referenceCount_;}
void ReferenceCountedPoolAllocated::removeReference ( ) const
inline

Definition at line 168 of file ReferenceCounted.h.

References referenceCount_, and s_referenced.

Referenced by intrusive_ptr_release().

168  {
169  s_referenced--;
170  if( 0 == --referenceCount_ ) {
171  delete const_cast<ReferenceCountedPoolAllocated*>(this);
172  }
173  }

Member Data Documentation

unsigned int ReferenceCountedPoolAllocated::referenceCount_
mutableprivate

Definition at line 184 of file ReferenceCounted.h.

Referenced by addReference(), references(), and removeReference().

int ReferenceCountedPoolAllocated::s_alive =0
static
int ReferenceCountedPoolAllocated::s_referenced =0
static