HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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 3011 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 3015 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 3014 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 3226 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 3060 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 3128 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 3390 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 3017 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 3022 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 3035 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 3040 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 3050 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 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>
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 3156 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 3124 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 3045 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 3066 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 3094 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 3055 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 3175 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 3203 of file UT_PageArray.h.


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