]> AND Public Git Repository - simgrid.git/blobdiff - src/xbt/dict_private.h
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
use the XBT_EXPORT_NO_IMPORT macro instead XBT_PUBLIC_DATA and add the keyword extern...
[simgrid.git] / src / xbt / dict_private.h
index 97b23c9899bc1ef5aa89766834857c7208022f51..70e62fa966b192021853b3efda5b3bf1c0d1c68c 100644 (file)
@@ -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;
 
@@ -23,18 +24,22 @@ typedef struct xbt_dictelm_ {
   char *key;
   int key_len;
   void *content;
-  void_f_pvoid_t *free_f;
+  void_f_pvoid_t free_f;
   xbt_dictelm_t next;
 } s_xbt_dictelm_t;
 
 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;
+extern void* dict_elm_mallocator_new_f(void);
+extern void dict_elm_mallocator_free_f(void* elem);
+extern void dict_elm_mallocator_reset_f(void* elem);
 
 /*####[ Function prototypes ]################################################*/
 xbt_dictelm_t xbt_dictelm_new(const char *key,