CMS 3D CMS Logo

Public Member Functions | Static Public Member Functions | Static Public Attributes

BlockWipedPoolAllocated Class Reference

#include <BlockWipedAllocator.h>

Inheritance diagram for BlockWipedPoolAllocated:
ReferenceCountedPoolAllocated 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

List of all members.

Public Member Functions

virtual ~BlockWipedPoolAllocated ()

Static Public Member Functions

static BlockWipedAllocatorallocator (size_t s)
static void operator delete (void *p, size_t s)
static void * operator new (size_t s)
static void * operator new (size_t s, void *p)
static BlockWipedAllocator::Stat stat (size_t s)
static void usePool ()

Static Public Attributes

static int s_alive = 0
static bool s_usePool = false

Detailed Description

Definition at line 147 of file BlockWipedAllocator.h.


Constructor & Destructor Documentation

virtual BlockWipedPoolAllocated::~BlockWipedPoolAllocated ( ) [inline, virtual]

Definition at line 149 of file BlockWipedAllocator.h.

{}

Member Function Documentation

BlockWipedAllocator & BlockWipedPoolAllocated::allocator ( size_t  s) [static]

Definition at line 164 of file BlockWipedAllocator.cc.

References BlockWipedPool::allocator(), and blockWipedPool().

Referenced by operator delete(), operator new(), and stat().

                                                                 {
  return  blockWipedPool().allocator(s);
}
void BlockWipedPoolAllocated::operator delete ( void *  p,
size_t  s 
) [static]

Definition at line 156 of file BlockWipedAllocator.cc.

References allocator(), BlockWipedAllocator::dealloc(), cppFunctionSkipper::operator, AlCaHLTBitMon_ParallelJobs::p, s_alive, and s_usePool.

                                                                {
  if (0==p) return;
  // if (s<100) std::cout << typeid(*(BlockWipedPoolAllocated*)(p)).name() << std::endl;
  s_alive--;
  (s_usePool) ? allocator(s).dealloc(p) : ::operator delete(p);

}
void * BlockWipedPoolAllocated::operator new ( size_t  s) [static]
void * BlockWipedPoolAllocated::operator new ( size_t  s,
void *  p 
) [static]

Definition at line 147 of file BlockWipedAllocator.cc.

References AlCaHLTBitMon_ParallelJobs::p.

                                                                {
  return p;
}
BlockWipedAllocator::Stat BlockWipedPoolAllocated::stat ( size_t  s) [static]

Definition at line 169 of file BlockWipedAllocator.cc.

References allocator(), and BlockWipedAllocator::stat().

                                                              {
  return allocator(s).stat();
}
void BlockWipedPoolAllocated::usePool ( ) [static]

Definition at line 135 of file BlockWipedAllocator.cc.

References s_alive, and s_usePool.

Referenced by BlockWipedAllocatorService::BlockWipedAllocatorService().

                                      { 
  // throw id s_alive!=0???
  if (0==s_alive) s_usePool=true;
}

Member Data Documentation

bool BlockWipedPoolAllocated::s_usePool = false [static]