17
17
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
25
22
#include <drizzled/memory/root.h>
27
23
#include <drizzled/visibility.h>
36
void init_sql_alloc(Root *root, size_t block_size, size_t pre_alloc_size);
37
void *sql_alloc(size_t);
38
void *sql_calloc(size_t);
39
char *sql_strdup(const char *str);
40
char *sql_strmake(const char *str, size_t len);
41
void *sql_memdup(const void * ptr, size_t size);
28
void* sql_alloc(size_t);
29
void* sql_calloc(size_t);
30
char* sql_strdup(const char*);
31
char* sql_strdup(str_ref);
32
void* sql_memdup(const void*, size_t);
43
34
class DRIZZLED_API SqlAlloc
46
static void *operator new(size_t size);
47
static void *operator new[](size_t size);
48
static void *operator new[](size_t size, Root *mem_root);
49
static void *operator new(size_t size, Root *mem_root);
50
static void operator delete(void *, size_t)
52
static void operator delete(void *, Root *)
54
static void operator delete[](void *, Root *)
56
static void operator delete[](void *, size_t)
60
* @TODO: Make this virtual... but List<> must be fixed first
37
static void* operator new(size_t size)
39
return memory::sql_alloc(size);
42
static void* operator new[](size_t size)
44
return memory::sql_alloc(size);
47
static void* operator new(size_t size, Root& root)
49
return root.alloc(size);
52
static void* operator new[](size_t size, Root& root)
54
return root.alloc(size);
57
static void* operator new(size_t size, Root* root)
59
return root->alloc(size);
62
static void* operator new[](size_t size, Root* root)
64
return root->alloc(size);
67
static void operator delete(void*)
71
static void operator delete[](void*)
75
static void operator delete(void*, Root&)
79
static void operator delete[](void*, Root&)
83
static void operator delete(void*, Root*)
87
static void operator delete[](void*, Root*)