#include "eina_types.h"
#include "eina_error.h"
+#include "eina_module.h"
/**
* @defgroup Memory_Pool_Group Memory Pool
EAPI int eina_mempool_init(void);
EAPI int eina_mempool_shutdown(void);
+EAPI Eina_Module_Group * eina_mempool_module_group_get(void);
EAPI Eina_Mempool * eina_mempool_new(const char *module, const char *context, const char *options, ...);
EAPI void eina_mempool_delete(Eina_Mempool *mp);
EAPI void * eina_mempool_alloc(Eina_Mempool *mp, unsigned int size);
EAPI void eina_mempool_free(Eina_Mempool *mp, void *element);
+EAPI void eina_mempool_gc(Eina_Mempool *mp);
+EAPI void eina_mempool_statistics(Eina_Mempool *mp);
+
/** @} */
#endif /* EINA_MEMPOOL_H_ */
return _init_count;
}
+EAPI Eina_Module_Group *
+eina_mempool_module_group_get(void)
+{
+ return _group;
+}
+
/**
*
*/
mp->backend->free(mp->backend_data, element);
}
+
+EAPI void eina_mempool_gc(Eina_Mempool *mp)
+{
+ assert(mp);
+ assert(mp->backend->garbage_collect);
+
+ mp->backend->garbage_collect(mp->backend_data);
+}
+
+EAPI void eina_mempool_statistics(Eina_Mempool *mp)
+{
+ assert(mp);
+ assert(mp->backend->statistics);
+
+ mp->backend->statistics(mp->backend_data);
+}