11#if !defined(SKIP_INCLUDES)
24 return (
SELF){.alloc_ref = alloc_ref};
36 (
SELF * self,
void* ptr,
size_t old_size,
size_t new_size)) {
54#define DEBUG_MOCK_TOGGLE(name) \
55 dc_debug_fmt_print(fmt, stream, DC_EXPAND_STRING(NS(SELF, name)) ": %s,\n", \
56 DC_MOCKABLE_ENABLED(NS(SELF, name)) ? "enabled" : "disabled")
63#undef DEBUG_MOCK_TOGGLE
static DC_PUBLIC void deallocate(SELF *self, void *ptr, size_t size)
static DC_PUBLIC void debug(SELF const *self, dc_debug_fmt fmt, FILE *stream)
static DC_PUBLIC void * allocate_zeroed(SELF *self, size_t size)
static DC_PUBLIC void * allocate_uninit(SELF *self, size_t size)
static DC_PUBLIC void * reallocate(SELF *self, void *ptr, size_t old_size, size_t new_size)
#define DC_TRAIT_ALLOC(SELF)
#define DEBUG_MOCK_TOGGLE(name)
static DC_PUBLIC size_t size(SELF const *self)
static DC_PUBLIC void dc_debug_fmt_print(dc_debug_fmt fmt, FILE *stream, const char *format,...)
static DC_PUBLIC dc_debug_fmt dc_debug_fmt_scope_end(dc_debug_fmt fmt)
static DC_PUBLIC dc_debug_fmt dc_debug_fmt_scope_begin(dc_debug_fmt fmt)
#define DC_MOCKABLE(ret, name, args)
Defines a function as mockable, combining declaration & definition.
#define DC_EXPAND_STRING(NAME)
#define DC_ASSUME(expr,...)
#define DC_TRAIT_REFERENCABLE_BY_PTR(SELF)
Debug format helpers for debug printin data structures.
static DC_PUBLIC FILE * stream(SELF *self)