PPL Logo

util/ckhashtable.h File Reference

Go to the source code of this file.

Data Structures

class  CkHashtableLayout
 Describes the in-memory layout of a hashtable entry. More...
class  CkHashtable
 A resize-on-demand extensible hashtable. More...
class  CkHashtableIterator
class  CkHashtableTslow< KEY, OBJ >
 This class provides a thin typesafe layer over the (unsafe) CkHashtable above. More...
class  CkHashtableT< KEY, OBJ >
class  CkHashtableAdaptorT< T >
 A useful adaptor class for using basic (memory only) types like int, short, char, etc. More...

Typedefs

typedef void * CkHashtable_c
typedef void * CkHashtableIterator_c
typedef unsigned int CkHashCode
typedef CkHashCode(* CkHashFunction )(const void *keyData, size_t keyLen)
typedef int(* CkHashCompare )(const void *key1, const void *key2, size_t keyLen)

Functions

CkHashtable_c CkCreateHashtable_int (int objBytes, int initSize)
CkHashtable_c CkCreateHashtable_string (int objBytes, int initSize)
CkHashtable_c CkCreateHashtable_pointer (int objBytes, int initSize)
void CkDeleteHashtable (CkHashtable_c h)
void * CkHashtablePut (CkHashtable_c h, const void *atKey)
void * CkHashtableGet (CkHashtable_c h, const void *fromKey)
void * CkHashtableKeyFromObject (CkHashtable_c h, const void *object)
int CkHashtableRemove (CkHashtable_c h, const void *doomedKey)
int CkHashtableSize (CkHashtable_c h)
CkHashtableIterator_c CkHashtableGetIterator (CkHashtable_c h)
void CkHashtableDestroyIterator (CkHashtableIterator_c it)
void * CkHashtableIteratorNext (CkHashtableIterator_c it, void **retKey)
void CkHashtableIteratorSeek (CkHashtableIterator_c it, int n)
void CkHashtableIteratorSeekStart (CkHashtableIterator_c it)
CkHashCode circleShift (CkHashCode h, unsigned int by)
CkHashCode CkHashFunction_default (const void *keyData, size_t keyLen)
CkHashCode CkHashFunction_string (const void *keyData, size_t keyLen)
CkHashCode CkHashFunction_int (const void *keyData, size_t)
CkHashCode CkHashFunction_pointer (const void *keyData, size_t)
int CkHashCompare_default (const void *key1, const void *key2, size_t keyLen)
int CkHashCompare_string (const void *key1, const void *key2, size_t keyLen)
int CkHashCompare_int (const void *k1, const void *k2, size_t)
int CkHashCompare_pointer (const void *k1, const void *k2, size_t)

Variables

int countHashRefs
int countHashCollisions


Typedef Documentation

typedef void* CkHashtable_c

Definition at line 33 of file ckhashtable.h.

typedef void* CkHashtableIterator_c

Definition at line 62 of file ckhashtable.h.

typedef unsigned int CkHashCode

Definition at line 93 of file ckhashtable.h.

typedef CkHashCode(* CkHashFunction)(const void *keyData, size_t keyLen)

Definition at line 104 of file ckhashtable.h.

typedef int(* CkHashCompare)(const void *key1, const void *key2, size_t keyLen)

Definition at line 117 of file ckhashtable.h.


Function Documentation

CkHashtable_c CkCreateHashtable_int ( int  objBytes,
int  initSize 
)

CkHashtable_c CkCreateHashtable_string ( int  objBytes,
int  initSize 
)

Definition at line 380 of file ckhashtable.C.

References CkHashCompare_string(), CkHashFunction_string(), and CkHashtableIterator::layout.

Referenced by CcsInit().

CkHashtable_c CkCreateHashtable_pointer ( int  objBytes,
int  initSize 
)

void CkDeleteHashtable ( CkHashtable_c  h  ) 

void* CkHashtablePut ( CkHashtable_c  h,
const void *  atKey 
)

void* CkHashtableGet ( CkHashtable_c  h,
const void *  fromKey 
)

void* CkHashtableKeyFromObject ( CkHashtable_c  h,
const void *  object 
)

int CkHashtableRemove ( CkHashtable_c  h,
const void *  doomedKey 
)

Definition at line 414 of file ckhashtable.C.

Referenced by cpd_memory_single_pup().

int CkHashtableSize ( CkHashtable_c  h  ) 

Definition at line 419 of file ckhashtable.C.

Referenced by cpd_memory_length().

CkHashtableIterator_c CkHashtableGetIterator ( CkHashtable_c  h  ) 

Definition at line 427 of file ckhashtable.C.

References CkHashtableIterator::seekStart().

Referenced by cpd_memory_single_pup().

void CkHashtableDestroyIterator ( CkHashtableIterator_c  it  ) 

Definition at line 433 of file ckhashtable.C.

void* CkHashtableIteratorNext ( CkHashtableIterator_c  it,
void **  retKey 
)

Definition at line 437 of file ckhashtable.C.

Referenced by cpd_memory_single_pup().

void CkHashtableIteratorSeek ( CkHashtableIterator_c  it,
int  n 
)

Definition at line 441 of file ckhashtable.C.

void CkHashtableIteratorSeekStart ( CkHashtableIterator_c  it  ) 

Definition at line 445 of file ckhashtable.C.

Referenced by cpd_memory_single_pup().

CkHashCode circleShift ( CkHashCode  h,
unsigned int  by 
) [inline]

CkHashCode CkHashFunction_default ( const void *  keyData,
size_t  keyLen 
)

Definition at line 20 of file ckhashtable.C.

CkHashCode CkHashFunction_string ( const void *  keyData,
size_t  keyLen 
)

Definition at line 32 of file ckhashtable.C.

Referenced by CkCreateHashtable_string().

CkHashCode CkHashFunction_int ( const void *  keyData,
size_t   
) [inline]

Definition at line 107 of file ckhashtable.h.

Referenced by CkCreateHashtable_int(), and CpdBreakPointInit().

CkHashCode CkHashFunction_pointer ( const void *  keyData,
size_t   
) [inline]

Definition at line 109 of file ckhashtable.h.

References CmiAbort().

Referenced by CkCreateHashtable_pointer().

int CkHashCompare_default ( const void *  key1,
const void *  key2,
size_t  keyLen 
)

Definition at line 46 of file ckhashtable.C.

int CkHashCompare_string ( const void *  key1,
const void *  key2,
size_t  keyLen 
)

Definition at line 56 of file ckhashtable.C.

Referenced by CkCreateHashtable_string().

int CkHashCompare_int ( const void *  k1,
const void *  k2,
size_t   
) [inline]

Definition at line 120 of file ckhashtable.h.

Referenced by CkCreateHashtable_int(), and CpdBreakPointInit().

int CkHashCompare_pointer ( const void *  k1,
const void *  k2,
size_t   
) [inline]

Definition at line 122 of file ckhashtable.h.

Referenced by CkCreateHashtable_pointer().


Variable Documentation

Definition at line 59 of file ckcausalmlog.C.

Definition at line 60 of file ckcausalmlog.C.


Generated on Thu May 24 07:56:05 2012 for Charm++ by  doxygen 1.5.5