mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
mempool.c: remove mrb_state dependency from mempool library
mempool.h provide compatibility layer so that existing programs does not need to update (but update recommended anyway, since compatibility layer takes mrb_state that is not used at all).
This commit is contained in:
+12
-6
@@ -5,9 +5,15 @@
|
||||
*/
|
||||
|
||||
/* memory pool implementation */
|
||||
typedef struct mrb_mempool mrb_mempool;
|
||||
MRB_API struct mrb_mempool* mrb_mempool_open(mrb_state*);
|
||||
MRB_API void mrb_mempool_close(struct mrb_mempool*);
|
||||
MRB_API void* mrb_mempool_alloc(struct mrb_mempool*, size_t);
|
||||
MRB_API void* mrb_mempool_realloc(struct mrb_mempool*, void*, size_t oldlen, size_t newlen);
|
||||
MRB_API mrb_bool mrb_mempool_can_realloc(struct mrb_mempool*, void*, size_t);
|
||||
typedef struct mempool mempool;
|
||||
MRB_API struct mempool* mempool_open(void);
|
||||
MRB_API void mempool_close(struct mempool*);
|
||||
MRB_API void* mempool_alloc(struct mempool*, size_t);
|
||||
MRB_API void* mempool_realloc(struct mempool*, void*, size_t oldlen, size_t newlen);
|
||||
|
||||
/* compatibility layer */
|
||||
#define mrb_mempool mempool
|
||||
#define mrb_mempool_open(m) mempool_open()
|
||||
#define mrb_mempool_close(m) mempool_close(m)
|
||||
#define mrb_mempool_alloc(m, size) mempool_alloc((m),(size))
|
||||
#define mrb_mempool_realloc(m, ptr, oldlen, newlen) mempool_realloc((m),(ptr),(oldlen),(newlen))
|
||||
|
||||
Reference in New Issue
Block a user