merge with/from trunk at r35190
[blender.git] / source / blender / blenlib / BLI_ghash.h
index dcc71fa12588fecbd81400e35c9935abe78111da..8f2cd02c35e05c13f8e9a1e2bd0a73a66c5e8d3b 100644 (file)
@@ -43,6 +43,10 @@ extern "C" {
 #include <stdlib.h>
 #include <string.h>
 
+
+#include "BKE_utildefines.h"
+#include "MEM_guardedalloc.h"
+
 #include "BLI_mempool.h"
 #include "BLI_blenlib.h"
 
@@ -75,11 +79,6 @@ typedef struct GHashIterator {
 GHash* BLI_ghash_new           (GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info);
 void   BLI_ghash_free          (GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
 
-//BM_INLINE void       BLI_ghash_insert        (GHash *gh, void *key, void *val);
-//BM_INLINE int                BLI_ghash_remove        (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
-//BM_INLINE void*      BLI_ghash_lookup        (GHash *gh, void *key);
-//BM_INLINE int                BLI_ghash_haskey        (GHash *gh, void *key);
-
 int            BLI_ghash_size          (GHash *gh);
 
 /* *** */
@@ -154,32 +153,6 @@ int                                BLI_ghashutil_intcmp(const void *a, const void *b);
 /*begin of macro-inlined functions*/
 extern unsigned int hashsizes[];
 
-#if 0
-#define BLI_ghash_insert(gh, _k, _v){\
-       unsigned int _hash= (gh)->hashfp(_k)%gh->nbuckets;\
-       Entry *_e= BLI_mempool_alloc((gh)->entrypool);\
-       _e->key= _k;\
-       _e->val= _v;\
-       _e->next= (gh)->buckets[_hash];\
-       (gh)->buckets[_hash]= _e;\
-       if (++(gh)->nentries>(gh)->nbuckets*3) {\
-               Entry *_e, **_old= (gh)->buckets;\
-               int _i, _nold= (gh)->nbuckets;\
-               (gh)->nbuckets= hashsizes[++(gh)->cursize];\
-               (gh)->buckets= malloc((gh)->nbuckets*sizeof(*(gh)->buckets));\
-               memset((gh)->buckets, 0, (gh)->nbuckets*sizeof(*(gh)->buckets));\
-               for (_i=0; _i<_nold; _i++) {\
-                       for (_e= _old[_i]; _e;) {\
-                               Entry *_n= _e->next;\
-                               _hash= (gh)->hashfp(_e->key)%(gh)->nbuckets;\
-                               _e->next= (gh)->buckets[_hash];\
-                               (gh)->buckets[_hash]= _e;\
-                               _e= _n;\
-                       }\
-               }\
-               free(_old); } }
-#endif
-
 /*---------inlined functions---------*/
 BM_INLINE void BLI_ghash_insert(GHash *gh, void *key, void *val) {
        unsigned int hash= gh->hashfp(key)%gh->nbuckets;
@@ -271,5 +244,4 @@ BM_INLINE int BLI_ghash_haskey(GHash *gh, void *key) {
 #ifdef __cplusplus
 }
 #endif
-
 #endif