Loading...
Searching...
No Matches
globus_hashtable.h File Reference

Hash Table. More...

`#include "globus_types.h"`
`#include "globus_list.h"`

Go to the source code of this file.

## Typedefs

typedef int(* | globus_hashtable_hash_func_t) (void *key, int limit)
typedef int(* | globus_hashtable_keyeq_func_t) (void *key1, void *key2)
typedef void(* | globus_hashtable_copy_func_t) (void **dest_key, void **dest_datum, void *src_key, void *src_datum)
typedef void(* | globus_hashtable_destructor_func_t) (void *datum)

## Functions

int | globus_hashtable_init (globus_hashtable_t *table, int size, globus_hashtable_hash_func_t hash_func, globus_hashtable_keyeq_func_t keyeq_func)
| Initialize a hash table.
void * | globus_hashtable_lookup (globus_hashtable_t *table, void *key)
| Look up a datum in a hash table.
int | globus_hashtable_insert (globus_hashtable_t *table, void *key, void *datum)
| Insert a datum into a hash table.
void * | globus_hashtable_update (globus_hashtable_t *table, void *key, void *datum)
| Update a hash table mapping.
void * | globus_hashtable_remove (globus_hashtable_t *table, void *key)
| Remove a datum from a hash table.
int | globus_hashtable_to_list (globus_hashtable_t *table, globus_list_t **list)
| Create a list of all datums in a hash table.
globus_bool_t | globus_hashtable_empty (globus_hashtable_t *table)
| Test hash table emptiness.
int | globus_hashtable_size (globus_hashtable_t *table)
| Hash table size.
void * | globus_hashtable_first (globus_hashtable_t *table)
| Initialize iterator to first hash table entry.
void * | globus_hashtable_next (globus_hashtable_t *table)
| Increment hash table iterator.
void * | globus_hashtable_last (globus_hashtable_t *table)
| Initialize iterator to last hash table entry.
void * | globus_hashtable_prev (globus_hashtable_t *table)
| Decrement hash table iterator.
int | globus_hashtable_destroy (globus_hashtable_t *table)
| Destroy a hash tableDestroys a hashtable representation, releasing any resources used to represent the mappings (abandoning any data in the queue). After this call, a hashtable is no longer considered initialized.
int | globus_hashtable_string_hash (void *string, int limit)
| Null-terminated string hash function.
int | globus_hashtable_string_keyeq (void *string1, void *string2)
| Null-terminated string equality predicate.
int | globus_hashtable_voidp_hash (void *voidp, int limit)
| Void pointer hash function.
int | globus_hashtable_voidp_keyeq (void *voidp1, void *voidp2)
| Void pointer equality predicate.
int | globus_hashtable_int_hash (void *integer, int limit)
| Integer hash function.
int | globus_hashtable_int_keyeq (void *integer1, void *integer2)
| Integer equality predicate.

## Detailed Description

Hash Table.