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)


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 95 of file ckhashtable.h.

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

Definition at line 108 of file ckhashtable.h.

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

Definition at line 121 of file ckhashtable.h.


Function Documentation

CkHashtable_c CkCreateHashtable_int ( int  objBytes,
int  initSize 
)

Definition at line 371 of file ckhashtable.C.

References CkHashCompare_int(), CkHashFunction_int(), int, and CkHashtableIterator::layout.

Referenced by GroupIdxArray< dtype >::nonInlineFind().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

CkHashtable_c CkCreateHashtable_pointer ( int  objBytes,
int  initSize 
)

Definition at line 389 of file ckhashtable.C.

References CkHashCompare_pointer(), CkHashFunction_pointer(), and CkHashtableIterator::layout.

Referenced by cpd_memory_single_pup().

Here is the call graph for this function:

Here is the caller graph for this function:

void CkDeleteHashtable ( CkHashtable_c  h  ) 

Definition at line 397 of file ckhashtable.C.

Referenced by cpd_memory_single_pup(), and GroupIdxArray< dtype >::~GroupIdxArray().

Here is the caller graph for this function:

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

Definition at line 402 of file ckhashtable.C.

Referenced by CcsRegisterHandler(), CcsRegisterHandlerFn(), cpd_memory_single_pup(), and GroupIdxArray< dtype >::nonInlineFind().

Here is the caller graph for this function:

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

Definition at line 408 of file ckhashtable.C.

Referenced by CcsGetHandler(), CcsHandleRequest(), CcsSetMergeFn(), cpd_memory_single_pup(), GroupIdxArray< dtype >::nonInlineFind(), and UserToSlot().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

int CkHashtableSize ( CkHashtable_c  h  ) 

Definition at line 419 of file ckhashtable.C.

Referenced by cpd_memory_length().

Here is the caller graph for this function:

CkHashtableIterator_c CkHashtableGetIterator ( CkHashtable_c  h  ) 

Definition at line 427 of file ckhashtable.C.

References CkHashtableIterator::seekStart().

Referenced by cpd_memory_single_pup().

Here is the call graph for this function:

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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().

Here is the caller graph for this function:

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

Definition at line 98 of file ckhashtable.h.

Referenced by CkHashFunction_ints(), CkObjID::operator CkHashCode(), and PUPbytes().

Here is the caller graph for this function:

CkHashCode CkHashFunction_default ( const void *  keyData,
size_t  keyLen 
)

Definition at line 20 of file ckhashtable.C.

References PUP::d.

CkHashCode CkHashFunction_string ( const void *  keyData,
size_t  keyLen 
)

Definition at line 32 of file ckhashtable.C.

References PUP::d.

Referenced by CkCreateHashtable_string().

Here is the caller graph for this function:

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

Definition at line 111 of file ckhashtable.h.

Referenced by CkCreateHashtable_int(), and CpdBreakPointInit().

Here is the caller graph for this function:

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

Definition at line 113 of file ckhashtable.h.

References CmiAbort(), and int.

Referenced by CkCreateHashtable_pointer().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Definition at line 46 of file ckhashtable.C.

References PUP::a, and PUP::b.

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

Definition at line 56 of file ckhashtable.C.

References PUP::a, and PUP::b.

Referenced by CkCreateHashtable_string().

Here is the caller graph for this function:

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

Definition at line 124 of file ckhashtable.h.

Referenced by CkCreateHashtable_int(), and CpdBreakPointInit().

Here is the caller graph for this function:

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

Definition at line 126 of file ckhashtable.h.

Referenced by CkCreateHashtable_pointer().

Here is the caller graph for this function:


Generated on Mon Sep 21 08:11:39 2020 for Charm++ by  doxygen 1.5.5