3 * GC-aware concurrent hashtable, based on utils/mono-conc-hashtable
6 #ifndef __MONO_CONC_G_HASH_H__
7 #define __MONO_CONC_G_HASH_H__
9 #include <mono/metadata/mono-hash.h>
12 typedef struct _MonoConcGHashTable MonoConcGHashTable
;
14 MonoConcGHashTable
* mono_conc_g_hash_table_new_type (GHashFunc hash_func
, GEqualFunc key_equal_func
, MonoGHashGCType type
, MonoGCRootSource source
, void *key
, const char *msg
);
15 gpointer
mono_conc_g_hash_table_lookup (MonoConcGHashTable
*hash
, gconstpointer key
);
16 gboolean
mono_conc_g_hash_table_lookup_extended (MonoConcGHashTable
*hash
, gconstpointer key
, gpointer
*orig_key
, gpointer
*value
);
17 void mono_conc_g_hash_table_foreach (MonoConcGHashTable
*hash
, GHFunc func
, gpointer user_data
);
18 void mono_conc_g_hash_table_destroy (MonoConcGHashTable
*hash
);
19 gpointer
mono_conc_g_hash_table_insert (MonoConcGHashTable
*h
, gpointer k
, gpointer v
);
20 gpointer
mono_conc_g_hash_table_remove (MonoConcGHashTable
*hash
, gconstpointer key
);
22 #endif /* __MONO_CONC_G_HASH_H__ */