Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
MemPoolForRooSets< RooSet_t, POOLSIZE >::Arena Struct Reference

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

Definition at line 62 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
 
void * tryAllocate ()
 
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 63 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 71 of file MemPoolForRooSets.h.

◆ ~Arena()

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

Definition at line 107 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 133 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 130 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 121 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 125 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 187 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 87 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 142 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 168 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 135 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 199 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 200 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 193 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 195 of file MemPoolForRooSets.h.

◆ nextItem

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

Definition at line 194 of file MemPoolForRooSets.h.

◆ ownedMemory

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

Definition at line 192 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 196 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 197 of file MemPoolForRooSets.h.

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

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