X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/43e9ac12ea9282621bfaed783cb4c96847e9406b..e2c10f61cfd4d58faa73f006aa74def2c73c8860:/src/xbt/dict_private.h diff --git a/src/xbt/dict_private.h b/src/xbt/dict_private.h index 97b23c9899..a6ac66b076 100644 --- a/src/xbt/dict_private.h +++ b/src/xbt/dict_private.h @@ -16,6 +16,7 @@ #include "xbt/ex.h" #include "xbt/dynar.h" #include "xbt/dict.h" +#include "xbt/mallocator.h" typedef struct xbt_dictelm_ *xbt_dictelm_t; @@ -30,19 +31,23 @@ typedef struct xbt_dictelm_ { typedef struct xbt_dict_ { xbt_dictelm_t *table; int table_size; + int count; } s_xbt_dict_t; typedef struct xbt_dict_cursor_ s_xbt_dict_cursor_t; -unsigned int xbt_dict_hash(const char *str); +extern xbt_mallocator_t dict_elm_mallocator; +XBT_PUBLIC extern void* dict_elm_mallocator_new_f(void); +XBT_PUBLIC extern void dict_elm_mallocator_free_f(void* elem); +XBT_PUBLIC extern void dict_elm_mallocator_reset_f(void* elem); /*####[ Function prototypes ]################################################*/ -xbt_dictelm_t xbt_dictelm_new(const char *key, +XBT_PUBLIC xbt_dictelm_t xbt_dictelm_new(const char *key, int key_len, void *content, void_f_pvoid_t free_f, xbt_dictelm_t next); -void xbt_dictelm_free(xbt_dictelm_t element); -void xbt_dict_add_element(xbt_dict_t dict, xbt_dictelm_t element); +XBT_PUBLIC void xbt_dictelm_free(xbt_dictelm_t element); +XBT_PUBLIC void xbt_dict_add_element(xbt_dict_t dict, xbt_dictelm_t element); #endif /* _XBT_DICT_PRIVATE_H_ */