Functions | |
| int | u_hmap_opts_new (u_hmap_opts_t **opts) |
| Create new hmap options. | |
| void | u_hmap_opts_free (u_hmap_opts_t *opts) |
| Deallocate hmap options. | |
| void | u_hmap_opts_init (u_hmap_opts_t *opts) |
| Initialise hmap options. | |
| int | u_hmap_opts_copy (u_hmap_opts_t *to, u_hmap_opts_t *from) |
| Copy options. | |
| void | u_hmap_opts_dbg (u_hmap_opts_t *opts) |
| Debug options. | |
| int | u_hmap_opts_set_size (u_hmap_opts_t *opts, int sz) |
| Set initial size of hmap's dynamic array. | |
| int | u_hmap_opts_set_max (u_hmap_opts_t *opts, int max) |
| Set maximum number of elements. | |
| int | u_hmap_opts_set_type (u_hmap_opts_t *opts, u_hmap_type_t type) |
| Set type of hmap. | |
| int | u_hmap_opts_set_option (u_hmap_opts_t *opts, int option) |
| Set option in options mask (hmap_easy interface cannot operate on U_HMAP_OPTS_OWNSDATA). | |
| int | u_hmap_opts_unset_option (u_hmap_opts_t *opts, int option) |
| Unset option in options mask (hmap_easy interface cannot operate on U_HMAP_OPTS_OWNSDATA). | |
| int | u_hmap_opts_set_hashfunc (u_hmap_opts_t *opts, size_t(*f_hash)(const void *key, size_t buckets)) |
| Set a custom hash function. | |
| int | u_hmap_opts_set_compfunc (u_hmap_opts_t *opts, int(*f_comp)(const void *k1, const void *k2)) |
| Set a custom key comparison function. | |
| int | u_hmap_opts_set_freefunc (u_hmap_opts_t *opts, void(*f_free)(u_hmap_o_t *obj)) |
| Set a custom object free function (not available for hmap_easy interface). | |
| int | u_hmap_opts_set_strfunc (u_hmap_opts_t *opts, u_string_t *(*f_str)(u_hmap_o_t *obj)) |
| Set a custom string representation for objects. | |
| int | u_hmap_opts_set_key_type (u_hmap_opts_t *opts, u_hmap_options_datatype_t type) |
| Set type for keys (not available for hmap_easy interface). | |
| int | u_hmap_opts_set_key_sz (u_hmap_opts_t *opts, size_t sz) |
| Set size of keys (not available for hmap_easy interface, only valid for U_HMAP_OPTS_DATATYPE_OPAQUE key type). | |
| int | u_hmap_opts_set_key_freefunc (u_hmap_opts_t *opts, void(*f_free)(const void *key)) |
| Set free function for keys (not available for hmap_easy interface). | |
| int | u_hmap_opts_set_val_type (u_hmap_opts_t *opts, u_hmap_options_datatype_t type) |
| Set type of values. | |
| int | u_hmap_opts_set_val_sz (u_hmap_opts_t *opts, size_t sz) |
| Set size of values (only valid for U_HMAP_OPTS_DATATYPE_OPAQUE key type). | |
| int | u_hmap_opts_set_val_freefunc (u_hmap_opts_t *opts, void(*f_free)(void *val)) |
| Set free function for values. | |
| int u_hmap_opts_copy | ( | u_hmap_opts_t * | to, | |
| u_hmap_opts_t * | from | |||
| ) |
Perform a deep copy of options object from to to.
| to | destination options | |
| from | source options |
| U_HMAP_ERR_NONE | on success | |
| U_HMAP_ERR_FAIL | on failure |
Definition at line 1162 of file srcs/toolbox/hmap.c.
Referenced by u_hmap_easy_new(), and u_hmap_new().
| void u_hmap_opts_dbg | ( | u_hmap_opts_t * | opts | ) |
Print out information on option settings.
| opts | options object |
Definition at line 1181 of file srcs/toolbox/hmap.c.
References U_HMAP_OPTS_NO_OVERWRITE, and U_HMAP_OPTS_OWNSDATA.
Referenced by u_hmap_new().
| void u_hmap_opts_free | ( | u_hmap_opts_t * | opts | ) |
Deallocate hmap options object opts.
| opts | hmap options |
Definition at line 1112 of file srcs/toolbox/hmap.c.
References u_free().
Referenced by u_hmap_free(), and u_json_index().
| void u_hmap_opts_init | ( | u_hmap_opts_t * | opts | ) |
Set allocated hmap options to default values
| opts | hmap options object |
Definition at line 1126 of file srcs/toolbox/hmap.c.
References U_HMAP_OPTS_DATATYPE_POINTER, U_HMAP_OPTS_DATATYPE_STRING, U_HMAP_OPTS_NO_OVERWRITE, U_HMAP_OPTS_OWNSDATA, U_HMAP_PCY_NONE, and U_HMAP_TYPE_CHAIN.
Referenced by u_hmap_easy_new(), and u_hmap_opts_new().
| int u_hmap_opts_new | ( | u_hmap_opts_t ** | opts | ) |
Create a new hmap options object and save its pointer to *opts. The fields within the object can be manipulated publicly according to the description in the header file.
| opts | on success contains the hmap options object |
| U_HMAP_ERR_NONE | on success | |
| U_HMAP_ERR_FAIL | on failure |
Definition at line 1086 of file srcs/toolbox/hmap.c.
References u_hmap_opts_init(), and u_zalloc().
Referenced by u_hmap_new(), and u_json_index().
| int u_hmap_opts_set_max | ( | u_hmap_opts_t * | opts, | |
| int | max | |||
| ) |
This limit is used only if a discard policy has been set via u_hmap_opts_set_policy(); otherwise the hmap is simply resized.
Definition at line 1222 of file srcs/toolbox/hmap.c.