HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable Class Reference

#include <UT_PageArray.h>

Public Types

typedef PageTable ThisType
 
typedef UT_PageArray< DATA_T,
TSIZE, TABLEHARDENED,
PAGESHARDENED, THEPAGEBITS,
IDX_T > 
ParentType
 

Public Member Functions

SYS_FORCE_INLINE PageTableEntrygetFirstPage ()
 
SYS_FORCE_INLINE const
PageTableEntry
getFirstPage () const
 
SYS_FORCE_INLINE const
PageTableEntry
getPPage (UT_PageNum i) const
 
SYS_FORCE_INLINE PageTableEntrygetPPage (UT_PageNum i)
 
SYS_FORCE_INLINE bool isShared () const
 
SYS_FORCE_INLINE exint getRefCount () const
 
SYS_FORCE_INLINE IDX_T size () const
 NOTE: This is the size of the full array, not the number of pages. More...
 
SYS_FORCE_INLINE IDX_T capacity () const
 NOTE: This is the capacity of the full array, not the capacity of pages. More...
 
SYS_FORCE_INLINE void setSize (IDX_T newsize)
 
SYS_FORCE_INLINE void setSize (IDX_T newsize, exint tuplesize)
 
void fill (IDX_T start, IDX_T end, const NotVoidType &val)
 
void fill (IDX_T start, IDX_T end, NotVoidType val, exint tuplesize)
 
void fill (IDX_T start, IDX_T end, const NotVoidType *values, exint tuplesize)
 
void fill (IDX_T start, IDX_T end, const UT_FixedVector< NotVoidType, theSafeTupleSize > &val)
 
void incRef ()
 
void decRef (exint tuplesize)
 
void hardenAllPages (IDX_T start, IDX_T end, exint tuplesize=TSIZE)
 
void tryCompressAllPages (IDX_T start, IDX_T end, exint tuplesize=TSIZE)
 
void tryCompressPage (UT_PageNum pagenum, exint tuplesize=TSIZE)
 
bool decRefIffShared ()
 

Static Public Member Functions

static ThisTypealloc (UT_PageNum npages)
 
static ThisTypeharden (ThisType *pages, IDX_T newcapacity, exint tuplesize=TSIZE)
 

Detailed Description

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
class UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable

Definition at line 3121 of file UT_PageArray.h.

Member Typedef Documentation

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
typedef UT_PageArray<DATA_T,TSIZE,TABLEHARDENED,PAGESHARDENED,THEPAGEBITS,IDX_T> UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::ParentType

Definition at line 3125 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
typedef PageTable UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::ThisType

Definition at line 3124 of file UT_PageArray.h.

Member Function Documentation

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
static ThisType* UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::alloc ( UT_PageNum  npages)
inlinestatic

Definition at line 3336 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE IDX_T UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::capacity ( ) const
inline

NOTE: This is the capacity of the full array, not the capacity of pages.

Definition at line 3170 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::decRef ( exint  tuplesize)
inline

Definition at line 3238 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
bool UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::decRefIffShared ( )
inline

Atomically decrement the reference count iff the page is shared. See the description of decRefIffSharedPage() above for why this function exists.

Definition at line 3500 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::fill ( IDX_T  start,
IDX_T  end,
const NotVoidType val 
)
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::fill ( IDX_T  start,
IDX_T  end,
NotVoidType  val,
exint  tuplesize 
)
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::fill ( IDX_T  start,
IDX_T  end,
const NotVoidType values,
exint  tuplesize 
)
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::fill ( IDX_T  start,
IDX_T  end,
const UT_FixedVector< NotVoidType, theSafeTupleSize > &  val 
)
template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE PageTableEntry* UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::getFirstPage ( )
inline

Definition at line 3127 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE const PageTableEntry* UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::getFirstPage ( ) const
inline

Definition at line 3132 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE const PageTableEntry* UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::getPPage ( UT_PageNum  i) const
inline

Definition at line 3145 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE PageTableEntry* UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::getPPage ( UT_PageNum  i)
inline

Definition at line 3150 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE exint UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::getRefCount ( ) const
inline

Definition at line 3160 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
static ThisType* UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::harden ( ThisType pages,
IDX_T  newcapacity,
exint  tuplesize = TSIZE 
)
inlinestatic

Definition at line 3348 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::hardenAllPages ( IDX_T  start,
IDX_T  end,
exint  tuplesize = TSIZE 
)
inline

Definition at line 3266 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::incRef ( )
inline

Definition at line 3234 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE bool UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::isShared ( ) const
inline

Definition at line 3155 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::setSize ( IDX_T  newsize)
inline

NOTE: This will assume the capacity is large enough! The caller must check! NOTE: This is the size of the full array, not the number of pages.

Definition at line 3176 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::setSize ( IDX_T  newsize,
exint  tuplesize 
)
inline

NOTE: This will assume the capacity is large enough! The caller must check! NOTE: This is the size of the full array, not the number of pages.

Definition at line 3204 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
SYS_FORCE_INLINE IDX_T UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::size ( void  ) const
inline

NOTE: This is the size of the full array, not the number of pages.

Definition at line 3165 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::tryCompressAllPages ( IDX_T  start,
IDX_T  end,
exint  tuplesize = TSIZE 
)
inline

Definition at line 3285 of file UT_PageArray.h.

template<typename DATA_T, exint TSIZE = 1, bool TABLEHARDENED = false, bool PAGESHARDENED = false, exint THEPAGEBITS = 10, typename IDX_T = exint>
void UT_PageArray< DATA_T, TSIZE, TABLEHARDENED, PAGESHARDENED, THEPAGEBITS, IDX_T >::PageTable::tryCompressPage ( UT_PageNum  pagenum,
exint  tuplesize = TSIZE 
)
inline

Definition at line 3313 of file UT_PageArray.h.


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