40 #define ENTRIES_VECTOR NS(NAME, entries)
41 #define TRACKED_ENTRY NS(EXPAND(ENTRIES), entry)
48 #pragma push_macro("ALLOC")
55 #define ITEM TRACKED_ENTRY
56 #define ALLOC stdalloc
57 #define INTERNAL_NAME ENTRIES_VECTOR
60 #pragma pop_macro("ALLOC")
73 return &self->entries;
127 if (entry->
ptr == ptr) {
137 #undef ENTRIES_VECTOR
static void free(SELF *self, void *ptr)
static void * realloc(SELF *self, void *ptr, size_t size)
static void * malloc(SELF *self, size_t size)
static void * calloc(SELF *self, size_t count, size_t size)
#define ENTRIES_VECTOR
For unit tests expected to throw, as C has no unwind, we cannot free allocated memory....
static void unleak_and_delete(SELF *self)
static ENTRIES_VECTOR const * get_entries(SELF const *self)
#define DEBUG_ASSERT(expr)
static ITER get_iter(SELF *self)
static INDEX_TYPE size(SELF const *self)
static ITEM * push(SELF *self, ITEM item)