1 /* Copyright (c) 2015 Regents of the University of California
3 * Author: Brian Demsky <bdemsky@uci.edu>
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * version 2 as published by the Free Software Foundation.
11 * @brief Memory allocation functions.
14 #ifndef CSAT_MY_MEMORY_H
15 #define CSAT_MY_MEMORY_H
23 void * ourmalloc(size_t size);
24 void ourfree(void *ptr);
25 void * ourcalloc(size_t count, size_t size);
26 void * ourrealloc(void *ptr, size_t size);
30 void *model_malloc(size_t size);
31 void model_free(void *ptr);
32 void *model_calloc(size_t count, size_t size);
33 void *model_realloc(void *ptr, size_t size);
36 #define ourmalloc model_malloc
37 #define ourfree model_free
38 #define ourrealloc model_realloc
39 #define ourcalloc model_calloc
42 static inline void *ourmalloc(size_t size) { return malloc(size); }
43 static inline void ourfree(void *ptr) { free(ptr); }
44 static inline void *ourcalloc(size_t count, size_t size) { return calloc(count, size); }
45 static inline void *ourrealloc(void *ptr, size_t size) { return realloc(ptr, size); }
49 void *operator new(size_t size) { \
50 return ourmalloc(size); \
52 void operator delete(void *p, size_t size) { \
55 void *operator new[](size_t size) { \
56 return ourmalloc(size); \
58 void operator delete[](void *p, size_t size) { \
61 void *operator new(size_t size, void *p) { /* placement new */ \
65 #endif/* _MY_MEMORY_H */