more
authorbdemsky <bdemsky@uci.edu>
Fri, 25 Aug 2017 00:07:37 +0000 (17:07 -0700)
committerbdemsky <bdemsky@uci.edu>
Fri, 25 Aug 2017 00:07:37 +0000 (17:07 -0700)
src/mymemory.h

index b778c48ae482aa383dc8d0ca6c506998bac77701..f5d54d99441969a435c0bb7d81964d4d53a35cfa 100644 (file)
@@ -31,4 +31,21 @@ static inline void ourfree(void *ptr) { free(ptr); }
 static inline void *ourcalloc(size_t count, size_t size) { return calloc(count, size); }
 static inline void *ourrealloc(void *ptr, size_t size) { return realloc(ptr, size); }
 
+#define MEMALLOC                                                                                                        \
+       void * operator new(size_t size) {                       \
+               return ourmalloc(size);                                                          \
+       }                                                                                                                                                                                                        \
+       void operator delete(void *p, size_t size) {                     \
+               ourfree(p);                                                                                                                                                      \
+       }                                                                                                                                                                                                        \
+       void * operator new[](size_t size) {                                                     \
+               return ourmalloc(size);                                                                                                  \
+       }                                                                                                                                                                                                                \
+       void operator delete[](void *p, size_t size) {                   \
+               ourfree(p);                                                                                                                                                              \
+       }                                                                                                                                                                                                                                                                                       \
+       void * operator new(size_t size, void *p) {                             /* placement new */ \
+               return p;                                                                                                                                                                                                                                               \
+       }
+
 #endif/* _MY_MEMORY_H */