Defines | |
#define | AXIS2_HASH_KEY_STRING (-1) |
Typedefs | |
typedef axutil_hash_t | axutil_hash_t |
typedef axutil_hash_index_t | axutil_hash_index_t |
typedef unsigned int(* | axutil_hashfunc_t )(const char *key, axis2_ssize_t *klen) |
Functions | |
unsigned int | axutil_hashfunc_default (const char *key, axis2_ssize_t *klen) |
AXIS2_EXTERN axutil_hash_t * | axutil_hash_make (const axutil_env_t *env) |
AXIS2_EXTERN axutil_hash_t * | axutil_hash_make_custom (const axutil_env_t *env, axutil_hashfunc_t hash_func) |
AXIS2_EXTERN axutil_hash_t * | axutil_hash_copy (const axutil_hash_t *ht, const axutil_env_t *env) |
AXIS2_EXTERN void | axutil_hash_set (axutil_hash_t *ht, const void *key, axis2_ssize_t klen, const void *val) |
AXIS2_EXTERN void * | axutil_hash_get (axutil_hash_t *ht, const void *key, axis2_ssize_t klen) |
AXIS2_EXTERN axutil_hash_index_t * | axutil_hash_first (axutil_hash_t *ht, const axutil_env_t *env) |
AXIS2_EXTERN axutil_hash_index_t * | axutil_hash_next (const axutil_env_t *env, axutil_hash_index_t *hi) |
AXIS2_EXTERN void | axutil_hash_this (axutil_hash_index_t *hi, const void **key, axis2_ssize_t *klen, void **val) |
AXIS2_EXTERN unsigned int | axutil_hash_count (axutil_hash_t *ht) |
AXIS2_EXTERN axutil_hash_t * | axutil_hash_overlay (const axutil_hash_t *overlay, const axutil_env_t *env, const axutil_hash_t *base) |
AXIS2_EXTERN axutil_hash_t * | axutil_hash_merge (const axutil_hash_t *h1, const axutil_env_t *env, const axutil_hash_t *h2, void *(*merger)(const axutil_env_t *env, const void *key, axis2_ssize_t klen, const void *h1_val, const void *h2_val, const void *data), const void *data) |
AXIS2_EXTERN axis2_bool_t | axutil_hash_contains_key (axutil_hash_t *ht, const axutil_env_t *env, const axis2_char_t *key) |
AXIS2_EXTERN void | axutil_hash_free (axutil_hash_t *ht, const axutil_env_t *env) |
AXIS2_EXTERN void | axutil_hash_free_void_arg (void *ht_void, const axutil_env_t *env) |
|
When passing a key to axutil_hash_set or axutil_hash_get, this value can be passed to indicate a string-valued key, and have axutil_hash compute the length automatically.
|
|
Abstract type for scanning hash tables. |
|
Abstract type for hash tables. |
|
Callback functions for calculating hash values.
|
|
Query whether the hash table provided as parameter contains the key provided as parameter.
|
|
Make a copy of a hash table
|
|
Get the number of key/value pairs in the hash table.
|
|
int sum_values(const axutil_env_t *env, axutil_hash_t *ht) { axutil_hash_index_t *hi; void *val; int sum = 0; for (hi = axutil_hash_first(p, ht); hi; hi = axutil_hash_next(p, hi)) { axutil_hash_this(hi, NULL, NULL, &val); sum += *(int *)val; } return sum; } |
|
|
|
Free a hash table with hash table given as void
|
|
Look up the value associated with a key in a hash table.
|
|
Create a hash table.
|
|
Create a hash table with a custom hash function
|
|
Merge two hash tables into one new hash table. If the same key is present in both tables, call the supplied merge function to produce a merged value for the key in the new table. Both hash tables must use the same hash function.
|
|
Continue iterating over the entries in a hash table.
|
|
Merge two hash tables into one new hash table. The values of the overlay hash override the values of the base if both have the same key. Both hash tables must use the same hash function.
|
|
Associate a value with a key in a hash table.
|
|
Get the current entry's details from the iteration state.
|
|
The default hash function. |