Logo ROOT  
Reference Guide
MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena Struct Reference

template<class RooSet_t, std::size_t POOLSIZE>
struct MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena

Definition at line 35 of file MemPoolForRooSets.h.

Public Member Functions

 Arena ()
 
 Arena (Arena &&other)
 
 Arena (const Arena &)=delete
 
 ~Arena ()
 
bool empty () const
 
bool hasSpace () const
 
bool inPool (const RooSet_t *const ptr) const
 
bool inPool (const void *const ptr) const
 
bool memoryOverlaps (const Arena &other) const
 
Arenaoperator= (Arena &&other)
 
Arenaoperator= (const Arena &)=delete
 
voidtryAllocate ()
 
bool tryDeallocate (void *ptr)
 
void tryFree (bool freeNonFull)
 

Public Attributes

std::bitset< POOLSIZE > assigned = {}
 
std::array< int, POOLSIZE > cycle = {{}}
 
const RooSet_t * memBegin
 
const RooSet_t * memEnd
 
RooSet_t * nextItem
 
RooSet_t * ownedMemory
 
std::size_t refCount = 0
 
std::size_t totCount = 0
 

Constructor & Destructor Documentation

◆ Arena() [1/3]

template<class RooSet_t , std::size_t POOLSIZE>
MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::Arena ( )
inline

Definition at line 36 of file MemPoolForRooSets.h.

◆ Arena() [2/3]

template<class RooSet_t , std::size_t POOLSIZE>
MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::Arena ( const Arena )
delete

◆ Arena() [3/3]

template<class RooSet_t , std::size_t POOLSIZE>
MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::Arena ( Arena &&  other)
inline

Definition at line 44 of file MemPoolForRooSets.h.

◆ ~Arena()

template<class RooSet_t , std::size_t POOLSIZE>
MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::~Arena ( )
inline

Definition at line 80 of file MemPoolForRooSets.h.

Member Function Documentation

◆ empty()

template<class RooSet_t , std::size_t POOLSIZE>
bool MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::empty ( ) const
inline

Definition at line 106 of file MemPoolForRooSets.h.

◆ hasSpace()

template<class RooSet_t , std::size_t POOLSIZE>
bool MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::hasSpace ( ) const
inline

Definition at line 103 of file MemPoolForRooSets.h.

◆ inPool() [1/2]

template<class RooSet_t , std::size_t POOLSIZE>
bool MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::inPool ( const RooSet_t *const  ptr) const
inline

Definition at line 94 of file MemPoolForRooSets.h.

◆ inPool() [2/2]

template<class RooSet_t , std::size_t POOLSIZE>
bool MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::inPool ( const void *const  ptr) const
inline

Definition at line 98 of file MemPoolForRooSets.h.

◆ memoryOverlaps()

template<class RooSet_t , std::size_t POOLSIZE>
bool MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::memoryOverlaps ( const Arena other) const
inline

Definition at line 160 of file MemPoolForRooSets.h.

◆ operator=() [1/2]

template<class RooSet_t , std::size_t POOLSIZE>
Arena & MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::operator= ( Arena &&  other)
inline

Definition at line 60 of file MemPoolForRooSets.h.

◆ operator=() [2/2]

template<class RooSet_t , std::size_t POOLSIZE>
Arena & MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::operator= ( const Arena )
delete

◆ tryAllocate()

template<class RooSet_t , std::size_t POOLSIZE>
void * MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::tryAllocate ( )
inline

Definition at line 115 of file MemPoolForRooSets.h.

◆ tryDeallocate()

template<class RooSet_t , std::size_t POOLSIZE>
bool MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::tryDeallocate ( void ptr)
inline

Definition at line 141 of file MemPoolForRooSets.h.

◆ tryFree()

template<class RooSet_t , std::size_t POOLSIZE>
void MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::tryFree ( bool  freeNonFull)
inline

Definition at line 108 of file MemPoolForRooSets.h.

Member Data Documentation

◆ assigned

template<class RooSet_t , std::size_t POOLSIZE>
std::bitset<POOLSIZE> MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::assigned = {}

Definition at line 172 of file MemPoolForRooSets.h.

◆ cycle

template<class RooSet_t , std::size_t POOLSIZE>
std::array<int, POOLSIZE> MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::cycle = {{}}

Definition at line 173 of file MemPoolForRooSets.h.

◆ memBegin

template<class RooSet_t , std::size_t POOLSIZE>
const RooSet_t* MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::memBegin

Definition at line 166 of file MemPoolForRooSets.h.

◆ memEnd

template<class RooSet_t , std::size_t POOLSIZE>
const RooSet_t* MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::memEnd

Definition at line 168 of file MemPoolForRooSets.h.

◆ nextItem

template<class RooSet_t , std::size_t POOLSIZE>
RooSet_t* MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::nextItem

Definition at line 167 of file MemPoolForRooSets.h.

◆ ownedMemory

template<class RooSet_t , std::size_t POOLSIZE>
RooSet_t* MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::ownedMemory

Definition at line 165 of file MemPoolForRooSets.h.

◆ refCount

template<class RooSet_t , std::size_t POOLSIZE>
std::size_t MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::refCount = 0

Definition at line 169 of file MemPoolForRooSets.h.

◆ totCount

template<class RooSet_t , std::size_t POOLSIZE>
std::size_t MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena::totCount = 0

Definition at line 170 of file MemPoolForRooSets.h.

Collaboration diagram for MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena:
[legend]

The documentation for this struct was generated from the following file: