Hashtable
[Base containers]


Detailed Description

A generic hashtable. One must provide key_cmp() and key_hash() functions.


Modules

 Hashtable iterator

Data Structures

struct  _htab_entry_struct
struct  _hashtab_t

Defines

#define HASH_SIZE   137
#define HASH_NOVAL   ((hash_elem)0)

Typedefs

typedef struct
_htab_entry_struct
htab_entry_t
typedef struct
_htab_iterator
htab_iterator_t
typedef struct
_hashtab_t
hashtab_t
typedef void * hash_elem
typedef void * hash_key
typedef word_t(* hash_func )(hash_key)
typedef int(* compare_func )(hash_key, hash_key)

Functions

word_t default_hash_func (const char *)
word_t hash_str (char *)
word_t hash_ptr (void *)
int cmp_ptr (void *, void *)
static __inline void init_hashtab (hashtab_t tab, hash_func hash, compare_func cmp)
 TODO.
static __inline void hash_addelem (hashtab_t tab, hash_key key, hash_elem elem)
 TODO.
static __inline
htab_entry_t 
hash_find_e (hashtab_t tab, hash_key key)
 TODO.
static __inline hash_elem hash_find (hashtab_t tab, hash_key key)
 TODO.
static __inline void hash_delelem (hashtab_t tab, hash_key key)
 TODO.
static __inline void clean_hashtab (hashtab_t tab, void(*callback)(htab_entry_t))
 TODO.


Define Documentation

#define HASH_SIZE   137

#define HASH_NOVAL   ((hash_elem)0)


Typedef Documentation

typedef struct _htab_entry_struct* htab_entry_t

typedef struct _htab_iterator* htab_iterator_t

typedef struct _hashtab_t* hashtab_t

typedef void* hash_elem

typedef void* hash_key

typedef word_t(* hash_func)(hash_key)

typedef int(* compare_func)(hash_key, hash_key)


Function Documentation

word_t default_hash_func ( const char *   ) 

word_t hash_str ( char *   ) 

word_t hash_ptr ( void *   ) 

int cmp_ptr ( void *  ,
void *   
)

static __inline void init_hashtab ( hashtab_t  tab,
hash_func  hash,
compare_func  cmp 
) [static]

TODO.

static __inline void hash_addelem ( hashtab_t  tab,
hash_key  key,
hash_elem  elem 
) [static]

TODO.

static __inline htab_entry_t hash_find_e ( hashtab_t  tab,
hash_key  key 
) [static]

TODO.

static __inline hash_elem hash_find ( hashtab_t  tab,
hash_key  key 
) [static]

TODO.

static __inline void hash_delelem ( hashtab_t  tab,
hash_key  key 
) [static]

TODO.

static __inline void clean_hashtab ( hashtab_t  tab,
void(*)(htab_entry_t callback 
) [static]

TODO.


Generated on Wed Feb 6 14:46:05 2008 for TinyaML by  doxygen 1.5.3