#include <stdlib.h>
#include <limits>
+#include "config.h"
+
/** MEMALLOC declares the allocators for a class to allocate
* memory in the non-snapshotting heap. */
#define MEMALLOC \
void * snapshot_malloc(size_t size);
void * snapshot_calloc(size_t count, size_t size);
+void * snapshot_realloc(void *ptr, size_t size);
void snapshot_free(void *ptr);
-void system_free( void * ptr );
-void *system_malloc( size_t size );
-
/** @brief Provides a non-snapshotting allocator for use in STL classes.
*
* The code was adapted from a code example from the book The C++
/** Return that all specializations of this allocator are interchangeable. */
template <class T1, class T2>
-bool operator== (const ModelAlloc<T1>&,
+bool operator ==(const ModelAlloc<T1>&,
const ModelAlloc<T2>&) throw() {
return true;
}
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;
+
+#if USE_MPROTECT_SNAPSHOT
+extern mspace user_snapshot_space;
+#endif
+
+extern mspace model_snapshot_space;
+
#ifdef __cplusplus
}; /* end of extern "C" */
#endif