The top of the hoard manager hierarchy. More...
#include <basehoardmanager.h>
Public Types | |
typedef SuperblockType_ | SuperblockType |
Public Member Functions | |
BaseHoardManager (void) | |
virtual | ~BaseHoardManager (void) |
int | isValid (void) const |
virtual void | free (void *) |
Free an object. | |
virtual void | lock (void) |
Lock this memory manager. | |
virtual void | unlock (void) |
Unlock this memory manager. | |
Static Public Member Functions | |
static size_t | getSize (void *ptr) |
Return the size of an object. | |
static SuperblockType * | getSuperblock (void *ptr) |
Find the superblock corresponding to a pointer via bitmasking. | |
Private Types | |
enum | { SuperblockSize = sizeof(SuperblockType) } |
Private Attributes | |
HL::sassert<((SuperblockSize &(SuperblockSize-1))==0)> | EnsureSuperblockSizeIsPowerOfTwo |
const unsigned long | _magic |
The top of the hoard manager hierarchy.
typedef SuperblockType_ BaseHoardManager< SuperblockType_ >::SuperblockType |
Reimplemented in EmptyHoardManager< SuperblockType_ >, Hoard::HoardManager< SourceHeap, ParentHeap, SuperblockType_, EmptinessClasses, LockType, thresholdFunctionClass, HeapType >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, Hoard::HoardManager< AlignedSuperblockHeap< LockType, SuperblockSize >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, EmptinessClasses, LockType, ThresholdClass, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, and Hoard::HoardManager< AlignedSuperblockHeap< TheLockType, SUPERBLOCK_SIZE >, TheGlobalHeap, SmallSuperblockType, EMPTINESS_CLASSES, TheLockType, hoardThresholdFunctionClass, SmallHeap >.
BaseHoardManager< SuperblockType_ >::BaseHoardManager | ( | void | ) | [inline] |
virtual BaseHoardManager< SuperblockType_ >::~BaseHoardManager | ( | void | ) | [inline, virtual] |
virtual void BaseHoardManager< SuperblockType_ >::free | ( | void * | ) | [inline, virtual] |
Free an object.
Reimplemented in EmptyHoardManager< SuperblockType_ >, Hoard::HoardManager< SourceHeap, ParentHeap, SuperblockType_, EmptinessClasses, LockType, thresholdFunctionClass, HeapType >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, Hoard::HoardManager< AlignedSuperblockHeap< LockType, SuperblockSize >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, EmptinessClasses, LockType, ThresholdClass, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, and Hoard::HoardManager< AlignedSuperblockHeap< TheLockType, SUPERBLOCK_SIZE >, TheGlobalHeap, SmallSuperblockType, EMPTINESS_CLASSES, TheLockType, hoardThresholdFunctionClass, SmallHeap >.
static size_t BaseHoardManager< SuperblockType_ >::getSize | ( | void * | ptr | ) | [inline, static] |
Return the size of an object.
static SuperblockType* BaseHoardManager< SuperblockType_ >::getSuperblock | ( | void * | ptr | ) | [inline, static] |
Find the superblock corresponding to a pointer via bitmasking.
int BaseHoardManager< SuperblockType_ >::isValid | ( | void | ) | const [inline] |
Reimplemented in EmptyHoardManager< SuperblockType_ >, Hoard::HoardManager< SourceHeap, ParentHeap, SuperblockType_, EmptinessClasses, LockType, thresholdFunctionClass, HeapType >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, Hoard::HoardManager< AlignedSuperblockHeap< LockType, SuperblockSize >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, EmptinessClasses, LockType, ThresholdClass, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, and Hoard::HoardManager< AlignedSuperblockHeap< TheLockType, SUPERBLOCK_SIZE >, TheGlobalHeap, SmallSuperblockType, EMPTINESS_CLASSES, TheLockType, hoardThresholdFunctionClass, SmallHeap >.
virtual void BaseHoardManager< SuperblockType_ >::lock | ( | void | ) | [inline, virtual] |
Lock this memory manager.
Reimplemented in EmptyHoardManager< SuperblockType_ >, Hoard::HoardManager< SourceHeap, ParentHeap, SuperblockType_, EmptinessClasses, LockType, thresholdFunctionClass, HeapType >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, Hoard::HoardManager< AlignedSuperblockHeap< LockType, SuperblockSize >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, EmptinessClasses, LockType, ThresholdClass, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, and Hoard::HoardManager< AlignedSuperblockHeap< TheLockType, SUPERBLOCK_SIZE >, TheGlobalHeap, SmallSuperblockType, EMPTINESS_CLASSES, TheLockType, hoardThresholdFunctionClass, SmallHeap >.
virtual void BaseHoardManager< SuperblockType_ >::unlock | ( | void | ) | [inline, virtual] |
Unlock this memory manager.
Reimplemented in EmptyHoardManager< SuperblockType_ >, Hoard::HoardManager< SourceHeap, ParentHeap, SuperblockType_, EmptinessClasses, LockType, thresholdFunctionClass, HeapType >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, Hoard::HoardManager< AlignedSuperblockHeap< LockType, SuperblockSize >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, EmptinessClasses, LockType, ThresholdClass, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, and Hoard::HoardManager< AlignedSuperblockHeap< TheLockType, SUPERBLOCK_SIZE >, TheGlobalHeap, SmallSuperblockType, EMPTINESS_CLASSES, TheLockType, hoardThresholdFunctionClass, SmallHeap >.
const unsigned long BaseHoardManager< SuperblockType_ >::_magic [private] |
Reimplemented in EmptyHoardManager< SuperblockType_ >, Hoard::HoardManager< SourceHeap, ParentHeap, SuperblockType_, EmptinessClasses, LockType, thresholdFunctionClass, HeapType >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, Hoard::HoardManager< AlignedSuperblockHeap< LockType, SuperblockSize >, EmptyHoardManager< HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > > >, HoardSuperblock< LockType, SuperblockSize, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, EmptinessClasses, LockType, ThresholdClass, ProcessHeap< SuperblockSize, EmptinessClasses, LockType, ThresholdClass > >, and Hoard::HoardManager< AlignedSuperblockHeap< TheLockType, SUPERBLOCK_SIZE >, TheGlobalHeap, SmallSuperblockType, EMPTINESS_CLASSES, TheLockType, hoardThresholdFunctionClass, SmallHeap >.
HL::sassert<((SuperblockSize & (SuperblockSize - 1)) == 0)> BaseHoardManager< SuperblockType_ >::EnsureSuperblockSizeIsPowerOfTwo [private] |