Defines | |
#define | AXIS2_HASH_KEY_STRING (-1) |
Typedefs | |
typedef axis2_hash_t | axis2_hash_t |
typedef axis2_hash_index_t | axis2_hash_index_t |
typedef unsigned int(* | axis2_hashfunc_t )(const char *key, axis2_ssize_t *klen) |
Functions | |
unsigned int | axis2_hashfunc_default (const char *key, axis2_ssize_t *klen) |
AXIS2_EXTERN axis2_hash_t * | axis2_hash_make (const axis2_env_t *env) |
AXIS2_EXTERN axis2_hash_t * | axis2_hash_make_custom (const axis2_env_t *env, axis2_hashfunc_t hash_func) |
AXIS2_EXTERN axis2_hash_t * | axis2_hash_copy (const axis2_hash_t *ht, const axis2_env_t *env) |
AXIS2_EXTERN void | axis2_hash_set (axis2_hash_t *ht, const void *key, axis2_ssize_t klen, const void *val) |
AXIS2_EXTERN void * | axis2_hash_get (axis2_hash_t *ht, const void *key, axis2_ssize_t klen) |
AXIS2_EXTERN axis2_hash_index_t * | axis2_hash_first (axis2_hash_t *ht, const axis2_env_t *env) |
AXIS2_EXTERN axis2_hash_index_t * | axis2_hash_next (const axis2_env_t *env, axis2_hash_index_t *hi) |
AXIS2_EXTERN void | axis2_hash_this (axis2_hash_index_t *hi, const void **key, axis2_ssize_t *klen, void **val) |
AXIS2_EXTERN unsigned int | axis2_hash_count (axis2_hash_t *ht) |
AXIS2_EXTERN axis2_hash_t * | axis2_hash_overlay (const axis2_hash_t *overlay, const axis2_env_t *env, const axis2_hash_t *base) |
AXIS2_EXTERN axis2_hash_t * | axis2_hash_merge (const axis2_hash_t *h1, const axis2_env_t *env, const axis2_hash_t *h2, void *(*merger)(const axis2_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 | axis2_hash_contains_key (axis2_hash_t *ht, const axis2_env_t *env, const axis2_char_t *key) |
AXIS2_EXTERN axis2_status_t | axis2_hash_free (axis2_hash_t *ht, const axis2_env_t *env) |
AXIS2_EXTERN axis2_status_t | axis2_hash_free_void_arg (void *ht_void, const axis2_env_t *env) |
|
When passing a key to axis2_hash_set or axis2_hash_get, this value can be passed to indicate a string-valued key, and have axis2_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 axis2_env_t *env, axis2_hash_t *ht) { axis2_hash_index_t *hi; void *val; int sum = 0; for (hi = axis2_hash_first(p, ht); hi; hi = axis2_hash_next(p, hi)) { axis2_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. |