tlds
Transactional Operations for Linked Data Structures
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
hashtable.c File Reference
#include <assert.h>
#include <stdlib.h>
#include "hashtable.h"
#include "list.h"
#include "pair.h"
#include "types.h"
Include dependency graph for hashtable.c:

Functions

void hashtable_iter_reset (hashtable_iter_t *itPtr, hashtable_t *hashtablePtr)
 
void TMhashtable_iter_reset (TM_ARGDECL hashtable_iter_t *itPtr, hashtable_t *hashtablePtr)
 
bool_t hashtable_iter_hasNext (hashtable_iter_t *itPtr, hashtable_t *hashtablePtr)
 
bool_t TMhashtable_iter_hasNext (TM_ARGDECL hashtable_iter_t *itPtr, hashtable_t *hashtablePtr)
 
void * hashtable_iter_next (hashtable_iter_t *itPtr, hashtable_t *hashtablePtr)
 
void * TMhashtable_iter_next (TM_ARGDECL hashtable_iter_t *itPtr, hashtable_t *hashtablePtr)
 
static list_t ** allocBuckets (long numBucket, comparator_t *comparePairs)
 
static list_t ** TMallocBuckets (TM_ARGDECL long numBucket, comparator_t *comparePairs)
 
hashtable_thashtable_alloc (long initNumBucket, ulong_t(*hash)(const void *), comparator_t *comparePairs, long resizeRatio, long growthFactor)
 
hashtable_tTMhashtable_alloc (TM_ARGDECL long initNumBucket, ulong_t(*hash)(const void *), comparator_t *comparePairs, long resizeRatio, long growthFactor)
 
static void freeBuckets (list_t **buckets, long numBucket)
 
static void TMfreeBuckets (TM_ARGDECL list_t **buckets, long numBucket)
 
void hashtable_free (hashtable_t *hashtablePtr)
 
void TMhashtable_free (TM_ARGDECL hashtable_t *hashtablePtr)
 
bool_t hashtable_isEmpty (hashtable_t *hashtablePtr)
 
bool_t TMhashtable_isEmpty (TM_ARGDECL hashtable_t *hashtablePtr)
 
long hashtable_getSize (hashtable_t *hashtablePtr)
 
long TMhashtable_getSize (TM_ARGDECL hashtable_t *hashtablePtr)
 
bool_t hashtable_containsKey (hashtable_t *hashtablePtr, void *keyPtr)
 
bool_t TMhashtable_containsKey (TM_ARGDECL hashtable_t *hashtablePtr, void *keyPtr)
 
void * hashtable_find (hashtable_t *hashtablePtr, void *keyPtr)
 
void * TMhashtable_find (TM_ARGDECL hashtable_t *hashtablePtr, void *keyPtr)
 
bool_t hashtable_insert (hashtable_t *hashtablePtr, void *keyPtr, void *dataPtr)
 
bool_t TMhashtable_insert (TM_ARGDECL hashtable_t *hashtablePtr, void *keyPtr, void *dataPtr)
 
bool_t hashtable_remove (hashtable_t *hashtablePtr, void *keyPtr)
 
bool_t TMhashtable_remove (TM_ARGDECL hashtable_t *hashtablePtr, void *keyPtr)
 

Function Documentation

static list_t** allocBuckets ( long  numBucket,
comparator_t comparePairs 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void freeBuckets ( list_t **  buckets,
long  numBucket 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

hashtable_t* hashtable_alloc ( long  initNumBucket,
ulong_t(*)(const void *)  hash,
comparator_t comparePairs,
long  resizeRatio,
long  growthFactor 
)

Here is the call graph for this function:

Here is the caller graph for this function:

bool_t hashtable_containsKey ( hashtable_t hashtablePtr,
void *  keyPtr 
)

Here is the call graph for this function:

void* hashtable_find ( hashtable_t hashtablePtr,
void *  keyPtr 
)

Here is the call graph for this function:

void hashtable_free ( hashtable_t hashtablePtr)

Here is the call graph for this function:

Here is the caller graph for this function:

long hashtable_getSize ( hashtable_t hashtablePtr)

Here is the call graph for this function:

Here is the caller graph for this function:

bool_t hashtable_insert ( hashtable_t hashtablePtr,
void *  keyPtr,
void *  dataPtr 
)

Here is the call graph for this function:

bool_t hashtable_isEmpty ( hashtable_t hashtablePtr)

Here is the call graph for this function:

bool_t hashtable_iter_hasNext ( hashtable_iter_t itPtr,
hashtable_t hashtablePtr 
)

Here is the call graph for this function:

void* hashtable_iter_next ( hashtable_iter_t itPtr,
hashtable_t hashtablePtr 
)

Here is the call graph for this function:

void hashtable_iter_reset ( hashtable_iter_t itPtr,
hashtable_t hashtablePtr 
)

Here is the call graph for this function:

bool_t hashtable_remove ( hashtable_t hashtablePtr,
void *  keyPtr 
)

Here is the call graph for this function:

static list_t** TMallocBuckets ( TM_ARGDECL long  numBucket,
comparator_t comparePairs 
)
static

Here is the call graph for this function:

Here is the caller graph for this function:

static void TMfreeBuckets ( TM_ARGDECL list_t **  buckets,
long  numBucket 
)
static

Here is the caller graph for this function:

hashtable_t* TMhashtable_alloc ( TM_ARGDECL long  initNumBucket,
ulong_t(*)(const void *)  hash,
comparator_t comparePairs,
long  resizeRatio,
long  growthFactor 
)

Here is the call graph for this function:

bool_t TMhashtable_containsKey ( TM_ARGDECL hashtable_t hashtablePtr,
void *  keyPtr 
)
void* TMhashtable_find ( TM_ARGDECL hashtable_t hashtablePtr,
void *  keyPtr 
)
void TMhashtable_free ( TM_ARGDECL hashtable_t hashtablePtr)

Here is the call graph for this function:

long TMhashtable_getSize ( TM_ARGDECL hashtable_t hashtablePtr)
bool_t TMhashtable_insert ( TM_ARGDECL hashtable_t hashtablePtr,
void *  keyPtr,
void *  dataPtr 
)
bool_t TMhashtable_isEmpty ( TM_ARGDECL hashtable_t hashtablePtr)
bool_t TMhashtable_iter_hasNext ( TM_ARGDECL hashtable_iter_t itPtr,
hashtable_t hashtablePtr 
)

Here is the call graph for this function:

void* TMhashtable_iter_next ( TM_ARGDECL hashtable_iter_t itPtr,
hashtable_t hashtablePtr 
)

Here is the call graph for this function:

void TMhashtable_iter_reset ( TM_ARGDECL hashtable_iter_t itPtr,
hashtable_t hashtablePtr 
)
bool_t TMhashtable_remove ( TM_ARGDECL hashtable_t hashtablePtr,
void *  keyPtr 
)