RequireCoalesceable< SuperHeap >::Header Class Reference

#include <testcoalesceableheap.h>

List of all members.

Public Member Functions

void sanityCheck (void)
void setPrevSize (const size_t sz)
size_t getPrevSize (void) const
void markFree (void)
void markInUse (void)
void markMmapped (void)
void markNotMmapped (void)
int isFree (void) const
int isNextFree (void) const
int isMmapped (void) const
void * getPrev (void) const
void * getNext (void) const
void markPrevFree (void)
void markPrevInUse (void)
int isPrevFree (void) const
void setSize (size_t sz)
size_t getSize (void) const
int getHeap (void) const
void setHeap (int)
int getPrevHeap (void) const
void setPrevHeap (int)

Static Public Member Functions

static void * makeObject (void *buf, size_t prevsz, size_t sz)
static HeadergetHeader (const void *ptr)
static void * getObject (const Header *hd)

Private Types

enum  { SIZE_SHIFT = 3 }

Private Member Functions

 Header (void)
 Header (size_t prevsz, size_t sz)
HeadergetNextHeader (void) const
int getIsMmapped (void) const
void setIsMmapped (void)
void setIsNotMmapped (void)
int getPrevIsFree (void) const
void setPrevIsFree (void)
void setPrevInUse (void)

Private Attributes

size_t _prevSize
size_t _size

template<class SuperHeap>
class RequireCoalesceable< SuperHeap >::Header


Member Enumeration Documentation

template<class SuperHeap >
anonymous enum [private]
Enumerator:
SIZE_SHIFT 

Constructor & Destructor Documentation

template<class SuperHeap >
RequireCoalesceable< SuperHeap >::Header::Header ( void   )  [inline, private]
template<class SuperHeap >
RequireCoalesceable< SuperHeap >::Header::Header ( size_t  prevsz,
size_t  sz 
) [inline, private]

Member Function Documentation

template<class SuperHeap >
static Header* RequireCoalesceable< SuperHeap >::Header::getHeader ( const void *  ptr  )  [inline, static]
template<class SuperHeap >
int RequireCoalesceable< SuperHeap >::Header::getHeap ( void   )  const [inline]
template<class SuperHeap >
int RequireCoalesceable< SuperHeap >::Header::getIsMmapped ( void   )  const [inline, private]
template<class SuperHeap >
void* RequireCoalesceable< SuperHeap >::Header::getNext ( void   )  const [inline]
template<class SuperHeap >
Header* RequireCoalesceable< SuperHeap >::Header::getNextHeader ( void   )  const [inline, private]
template<class SuperHeap >
static void* RequireCoalesceable< SuperHeap >::Header::getObject ( const Header hd  )  [inline, static]
template<class SuperHeap >
void* RequireCoalesceable< SuperHeap >::Header::getPrev ( void   )  const [inline]
template<class SuperHeap >
int RequireCoalesceable< SuperHeap >::Header::getPrevHeap ( void   )  const [inline]
template<class SuperHeap >
int RequireCoalesceable< SuperHeap >::Header::getPrevIsFree ( void   )  const [inline, private]
template<class SuperHeap >
size_t RequireCoalesceable< SuperHeap >::Header::getPrevSize ( void   )  const [inline]
template<class SuperHeap >
size_t RequireCoalesceable< SuperHeap >::Header::getSize ( void   )  const [inline]
template<class SuperHeap >
int RequireCoalesceable< SuperHeap >::Header::isFree ( void   )  const [inline]
template<class SuperHeap >
int RequireCoalesceable< SuperHeap >::Header::isMmapped ( void   )  const [inline]
template<class SuperHeap >
int RequireCoalesceable< SuperHeap >::Header::isNextFree ( void   )  const [inline]
template<class SuperHeap >
int RequireCoalesceable< SuperHeap >::Header::isPrevFree ( void   )  const [inline]
template<class SuperHeap >
static void* RequireCoalesceable< SuperHeap >::Header::makeObject ( void *  buf,
size_t  prevsz,
size_t  sz 
) [inline, static]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::markFree ( void   )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::markInUse ( void   )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::markMmapped ( void   )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::markNotMmapped ( void   )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::markPrevFree ( void   )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::markPrevInUse ( void   )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::sanityCheck ( void   )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::setHeap ( int   )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::setIsMmapped ( void   )  [inline, private]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::setIsNotMmapped ( void   )  [inline, private]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::setPrevHeap ( int   )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::setPrevInUse ( void   )  [inline, private]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::setPrevIsFree ( void   )  [inline, private]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::setPrevSize ( const size_t  sz  )  [inline]
template<class SuperHeap >
void RequireCoalesceable< SuperHeap >::Header::setSize ( size_t  sz  )  [inline]

Member Data Documentation

template<class SuperHeap >
size_t RequireCoalesceable< SuperHeap >::Header::_prevSize [private]
template<class SuperHeap >
size_t RequireCoalesceable< SuperHeap >::Header::_size [private]

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