more documentation
[c11tester.git] / mymemory.h
index f2f2c2b852b68f8e3f8076b66753792cc907680a..c159e532fd16b233c78ab26a4d3493f4f1e23cd2 100644 (file)
@@ -1,24 +1,34 @@
+/** @file mymemory.h
+ *  @brief Memory allocation functions.
+ */
+
 #ifndef _MY_MEMORY_H
 #define _MY_MEMORY_H
 #include <stdlib.h>
 #include <limits>
-#define MEMALLOC void *operator new( size_t size ){ \
-                                                                                                                                       return MYMALLOC( size );\
-                                                                                                                                       }\
-                                                          void operator delete( void *p, size_t size ){ \
-                                                                                                                                       MYFREE( p ); \
-                                                                                                                                       }\
-                 void *operator new[]( size_t size ){ \
-                                  return MYMALLOC( size );\
-                                  }\
-                 void operator delete[]( void *p, size_t size ){\
-                                  MYFREE( p );\
-                                  }
 
+#define MEMALLOC \
+       void * operator new(size_t size) { \
+               return MYMALLOC(size);\
+       }\
+       void operator delete(void *p, size_t size) { \
+               MYFREE( p ); \
+       }\
+       void * operator new[](size_t size) { \
+               return MYMALLOC(size);\
+       }\
+       void operator delete[](void *p, size_t size) {\
+               MYFREE(p);\
+       }
+
+/* Empty define; represents opposite of MEMALLOC */
+#define SNAPSHOTALLOC
 
 void *MYMALLOC(size_t size);
 void MYFREE(void *ptr);
-void AddUserHeapToSnapshot();                                                                                          
+
+void system_free( void * ptr );
+void *system_malloc( size_t size );
 /*
 The following code example is taken from the book
 The C++ Standard Library - A Tutorial and Reference
@@ -109,16 +119,20 @@ template <class T>
      return false;
  }
 
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 typedef void * mspace;
 extern void* mspace_malloc(mspace msp, size_t bytes);
 extern void mspace_free(mspace msp, void* mem);
+extern void* mspace_realloc(mspace msp, void* mem, size_t newsize);
+extern void* mspace_calloc(mspace msp, size_t n_elements, size_t elem_size);
 extern mspace create_mspace_with_base(void* base, size_t capacity, int locked);
 extern mspace create_mspace(size_t capacity, int locked);
+extern mspace mySpace;
+extern void * basemySpace;
 #ifdef __cplusplus
 };  /* end of extern "C" */
 #endif
-#endif
+
+#endif /* _MY_MEMORY_H */