5 std::size_t blockSize):
6 m_typeSize(typeSize), m_blockSize(blockSize), m_alive(0){
7 if (typeSize<32) abort();
13 m_typeSize(rh.m_typeSize), m_blockSize(rh.m_blockSize),m_alive(0) {
82 Pool::iterator
p=
m_pool.find(typeSize);
83 if (p!=
m_pool.end())
return (*p).second;
120 return (s_usePool) ? allocator(
s).alloc() :
::operator new(
s);
136 (s_usePool) ? allocator(
s).dealloc(
p) :
::operator delete(
p);
std::vector< LocalCache * > localCaches
BlockWipedPool(std::size_t blockSize)
Allocator & allocator(std::size_t typeSize)
BlockWipedAllocator(std::size_t typeSize, std::size_t blockSize)
static BlockWipedAllocator & allocator(size_t s)
std::vector< unsigned char > m_data
U second(std::pair< T, U > const &p)
BlockWipedAllocator & operator=(BlockWipedAllocator const &rh)
static BlockWipedAllocator::Stat stat(size_t s)
block
Formating index page's pieces.
BlockWipedAllocator & me() const
BlockWipedPool & blockWipedPool()
Blocks::const_iterator const_iterator
void nextBlock(bool advance)