GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap > Class Template Reference

#include <mem.h>

Inheritance diagram for GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >:
SourceHeap

List of all members.

Classes

struct  Block
struct  Block_basic
struct  TyEq

Public Types

enum  { AllocSize = ElemSize }

Public Member Functions

void clear ()
 BlockAlloc ()
 ~BlockAlloc ()
void * allocate (unsigned int size)
void deallocate (void *ptr)

Private Types

enum  { BytesLeft = (SourceHeap::AllocSize - sizeof(Block_basic)), BytesLeftR = BytesLeft & ~(sizeof(double) - 1), FitLeft = BytesLeftR / sizeof(TyEq[1]), TotalFit = FitLeft + 1 }

Private Member Functions

void refill ()

Private Attributes

Blockhead
int headIndex

template<unsigned ElemSize, typename SourceHeap>
class GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >


Member Enumeration Documentation

template<unsigned ElemSize, typename SourceHeap >
anonymous enum [private]
Enumerator:
BytesLeft 
BytesLeftR 
FitLeft 
TotalFit 
template<unsigned ElemSize, typename SourceHeap >
anonymous enum
Enumerator:
AllocSize 

Constructor & Destructor Documentation

template<unsigned ElemSize, typename SourceHeap >
GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >::BlockAlloc (  )  [inline]
template<unsigned ElemSize, typename SourceHeap >
GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >::~BlockAlloc (  )  [inline]

Member Function Documentation

template<unsigned ElemSize, typename SourceHeap >
void* GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >::allocate ( unsigned int  size  )  [inline]
template<unsigned ElemSize, typename SourceHeap >
void GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >::clear (  )  [inline]
template<unsigned ElemSize, typename SourceHeap >
void GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >::deallocate ( void *  ptr  )  [inline]
template<unsigned ElemSize, typename SourceHeap >
void GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >::refill (  )  [inline, private]

Member Data Documentation

template<unsigned ElemSize, typename SourceHeap >
Block* GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >::head [private]
template<unsigned ElemSize, typename SourceHeap >
int GaloisRuntime::MM::BlockAlloc< ElemSize, SourceHeap >::headIndex [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