16#ifndef COOK_MEM_CONTEXT_H
17#define COOK_MEM_CONTEXT_H
36template<
class Arena,
class Logger,
class TreeType = PtrRBTree,
class T=
void>
223 m_pool.releaseAll ();
224 m_arena.releaseAll ();
278 m_pool.setTrimEmptySegmentsInterval (
interval);
287 return m_pool.getTrimEmptySegmentsInterval ();
307 m_pool.setImmediateReleaseThreshold (
threshold);
319 return m_pool.getImmediateReleaseThreshold ();
405template<
class Arena,
class Logger>
431template<
class Arena = MmapArena,
class Logger = NoActionMemLogger,
class TreeType = PtrRBTree,
class T=
void>
492template<
class Arena,
class Logger>
521template<
class Arena = MmapArena,
class Logger = NoActionMemLogger,
class TreeType = PtrRBTree,
class T =
void>
MemCtx::const_pointer const_pointer
Definition context.h:539
MemCtx::pointer pointer
Definition context.h:537
MemContext< CachedArena< Arena >, Logger, TreeType, T > MemCtx
Definition context.h:528
MemCtx::size_type size_type
Definition context.h:531
CachedMemContainer< Arena, Logger > Container
Definition context.h:526
CachedMemContext(std::uint8_t paddingSize=DEFAULT_PADDING_SIZE)
Definition context.h:549
CachedMemContext(CachedMemContext &other, bool shareArena)
Definition context.h:567
MemCtx::difference_type difference_type
Definition context.h:533
MemCtx::value_type value_type
Definition context.h:535
Definition allocator.h:39
MemPool< Arena, Logger, TreeType, T > Pool
Definition context.h:43
void setImmediateReleaseThreshold(size_type threshold)
Definition context.h:305
size_type getMaxFootprint() const
Definition context.h:260
size_type getTrimEmptySegmentsInterval() const
Definition context.h:285
void releaseAllToSystem()
Definition context.h:221
size_type getSize(T *ptr)
Definition context.h:203
Arena & getArena()
Definition context.h:378
bool contains(T *ptr, bool checkUsed=false)
Definition context.h:186
void setStoringExactSize(bool b)
Definition context.h:337
T * allocateAligned(size_type size, size_type alignment)
Definition context.h:126
MemContext< Arena, Logger, TreeType, T > MemCtx
Definition context.h:41
std::uint8_t getPaddingByte() const
Definition context.h:361
Pool::pointer pointer
Definition context.h:52
Pool & getPool()
Definition context.h:394
void validate()
Definition context.h:170
void deallocate(T *ptr, size_type size=0)
Definition context.h:164
T * reallocate(T *ptr, size_type size)
Definition context.h:140
Pool::value_type value_type
Definition context.h:50
void setFootprintLimit(size_type footprintLimit)
Definition context.h:244
Pool::size_type size_type
Definition context.h:46
size_type getImmediateReleaseThreshold() const
Definition context.h:317
T * callocate(size_type num, size_type size)
Definition context.h:153
void releaseAll()
Definition context.h:209
size_type getFootprint() const
Definition context.h:252
size_type getFootprintLimit() const
Definition context.h:233
Pool::difference_type difference_type
Definition context.h:48
Logger & getLogger()
Definition context.h:386
std::uint8_t getPaddingSize() const
Definition context.h:353
MemContext(MemCtx &other)
Definition context.h:87
bool isPadding() const
Definition context.h:347
void setPaddingByte(std::uint8_t paddingByte)
Definition context.h:370
void setTrimEmptySegmentsInterval(size_type interval)
Definition context.h:276
Pool::const_pointer const_pointer
Definition context.h:54
MemContext(Arena &arena, Logger &logger, std::uint8_t paddingSize=DEFAULT_PADDING_SIZE)
Definition context.h:70
bool isStoringExactSize() const
Definition context.h:328
T * allocate(size_type size)
Definition context.h:107
std::size_t size_type
Definition pool.h:169
SimpleMemContext(std::uint8_t paddingSize=DEFAULT_PADDING_SIZE)
Definition context.h:459
MemCtx::pointer pointer
Definition context.h:447
MemContext< Arena, Logger, TreeType, T > MemCtx
Definition context.h:438
MemCtx::const_pointer const_pointer
Definition context.h:449
MemCtx::size_type size_type
Definition context.h:441
MemCtx::value_type value_type
Definition context.h:445
MemCtx::difference_type difference_type
Definition context.h:443
SimpleMemContainer< Arena, Logger > Container
Definition context.h:436
SimpleMemContext(SimpleMemContext &other, bool shareArena)
Definition context.h:476
Definition allocator.h:29
const std::uint8_t DEFAULT_PADDING_SIZE
Definition config.h:56
Logger logger
Definition context.h:500
CachedArena< Arena > cachedArena
Definition context.h:498
Arena arena
Definition context.h:496
Logger logger
Definition context.h:411
Arena arena
Definition context.h:409