28#ifndef __FANCY_MEMORY_H__
29#define __FANCY_MEMORY_H__
fancy_memory_t * fancy_memory_create(void)
The factory method that needs to be used in order to instantiate a fancy_memory_t object.
void fancy_memory_free(fancy_memory_t *self, void *pointer)
The method that must be used to free (and stop tracking) memory previously allocated using the same f...
void fancy_memory_debug(fancy_memory_t const *self, FILE *stream)
A method that can be used to print (i.e., write) a summary of the tracked memory for self .
void * fancy_memory_malloc(fancy_memory_t *self, size_t size)
The method that must be used to allocate and track new memory.
struct fancy_memory_s fancy_memory_t
An opaque data type that is used as a container for storing "memory tracking" related data,...
Definition: fancy_memory.h:48
void fancy_memory_get_library_version(uint16_t *major, uint16_t *minor, uint16_t *revision)
A method that can be used to retrieve the library's current version. It works by populating the argum...
void * fancy_memory_realloc(fancy_memory_t *self, void *pointer, size_t size)
The method that must be used to reallocate (and update the tracking information of) memory that was i...
void fancy_memory_destroy(fancy_memory_t *self)
The method that should be used to destroy a fancy_memory_t object once that object is no longer neede...
size_t fancy_memory_get_total(fancy_memory_t const *self)
The method that must be used to retrieve the total amount of memory (in bytes) currently being tracke...