HL::AlignedChunk< chunkSize, slotSize > Class Template Reference

#include <alignedchunk.h>

List of all members.

Public Member Functions

 AlignedChunk (void)
 ~AlignedChunk (void)
void * getSlot (void)
int putSlot (void *ptr)
int isReleased (void)
void acquire (void)
void release (void)
AlignedChunkgetNext (void)
AlignedChunkgetPrev (void)
void setNext (AlignedChunk *p)
void setPrev (AlignedChunk *p)

Static Public Member Functions

static int getNumSlots (void)
static AlignedChunkgetChunk (void *slot)

Private Types

enum  { RELEASED = 0, ACQUIRED = 1 }

Static Private Member Functions

static size_t align (size_t sz)

Private Attributes

int inUse
unsigned long freeBitmap
unsigned long emptyBitmap
int status
AlignedChunkprev
AlignedChunknext

template<int chunkSize, int slotSize>
class HL::AlignedChunk< chunkSize, slotSize >


Member Enumeration Documentation

template<int chunkSize, int slotSize>
anonymous enum [private]
Enumerator:
RELEASED 
ACQUIRED 

Constructor & Destructor Documentation

template<int chunkSize, int slotSize>
HL::AlignedChunk< chunkSize, slotSize >::AlignedChunk ( void   )  [inline]
template<int chunkSize, int slotSize>
HL::AlignedChunk< chunkSize, slotSize >::~AlignedChunk ( void   )  [inline]

Member Function Documentation

template<int chunkSize, int slotSize>
void HL::AlignedChunk< chunkSize, slotSize >::acquire ( void   )  [inline]
template<int chunkSize, int slotSize>
static size_t HL::AlignedChunk< chunkSize, slotSize >::align ( size_t  sz  )  [inline, static, private]
template<int chunkSize, int slotSize>
static AlignedChunk* HL::AlignedChunk< chunkSize, slotSize >::getChunk ( void *  slot  )  [inline, static]
template<int chunkSize, int slotSize>
AlignedChunk* HL::AlignedChunk< chunkSize, slotSize >::getNext ( void   )  [inline]
template<int chunkSize, int slotSize>
static int HL::AlignedChunk< chunkSize, slotSize >::getNumSlots ( void   )  [inline, static]
template<int chunkSize, int slotSize>
AlignedChunk* HL::AlignedChunk< chunkSize, slotSize >::getPrev ( void   )  [inline]
template<int chunkSize, int slotSize>
void* HL::AlignedChunk< chunkSize, slotSize >::getSlot ( void   )  [inline]
template<int chunkSize, int slotSize>
int HL::AlignedChunk< chunkSize, slotSize >::isReleased ( void   )  [inline]
template<int chunkSize, int slotSize>
int HL::AlignedChunk< chunkSize, slotSize >::putSlot ( void *  ptr  )  [inline]
template<int chunkSize, int slotSize>
void HL::AlignedChunk< chunkSize, slotSize >::release ( void   )  [inline]
template<int chunkSize, int slotSize>
void HL::AlignedChunk< chunkSize, slotSize >::setNext ( AlignedChunk< chunkSize, slotSize > *  p  )  [inline]
template<int chunkSize, int slotSize>
void HL::AlignedChunk< chunkSize, slotSize >::setPrev ( AlignedChunk< chunkSize, slotSize > *  p  )  [inline]

Member Data Documentation

template<int chunkSize, int slotSize>
unsigned long HL::AlignedChunk< chunkSize, slotSize >::emptyBitmap [private]
template<int chunkSize, int slotSize>
unsigned long HL::AlignedChunk< chunkSize, slotSize >::freeBitmap [private]
template<int chunkSize, int slotSize>
int HL::AlignedChunk< chunkSize, slotSize >::inUse [private]
template<int chunkSize, int slotSize>
AlignedChunk* HL::AlignedChunk< chunkSize, slotSize >::next [private]
template<int chunkSize, int slotSize>
AlignedChunk* HL::AlignedChunk< chunkSize, slotSize >::prev [private]
template<int chunkSize, int slotSize>
int HL::AlignedChunk< chunkSize, slotSize >::status [private]

The documentation for this class was generated from the following file:
Generated on Tue Aug 2 11:51:30 2011 for Galois by  doxygen 1.6.3