19
19
#ifdef USE_PRAGMA_INTERFACE
20
20
#pragma interface /* gcc class implementation */
23
/** Struct to handle simple linked lists. */
24
typedef struct st_sql_list {
29
st_sql_list() {} /* Remove gcc warning */
36
inline void link_in_list(uchar *element,uchar **next_ptr)
43
inline void save_and_clear(struct st_sql_list *save)
48
inline void push_front(struct st_sql_list *save)
50
*save->next= first; /* link current list last */
52
elements+= save->elements;
54
inline void push_back(struct st_sql_list *save)
60
elements+= save->elements;
65
23
/* mysql standard class memory allocator */
78
37
{ return alloc_root(mem_root, size); }
79
38
static void *operator new(size_t size, MEM_ROOT *mem_root) throw ()
80
39
{ return alloc_root(mem_root, size); }
81
static void operator delete(void *ptr __attribute__((unused)),
82
size_t size __attribute__((unused)))
40
static void operator delete(void *ptr __attribute__((__unused__)),
41
size_t size __attribute__((__unused__)))
83
42
{ TRASH(ptr, size); }
84
static void operator delete(void *ptr __attribute__((unused)),
85
MEM_ROOT *mem_root __attribute__((unused)))
86
{ /* never called */ }
87
static void operator delete[](void *ptr __attribute__((unused)),
88
MEM_ROOT *mem_root __attribute__((unused)))
89
{ /* never called */ }
90
static void operator delete[](void *ptr __attribute__((unused)),
91
size_t size __attribute__((unused)))
43
static void operator delete(void *ptr __attribute__((__unused__)),
44
MEM_ROOT *mem_root __attribute__((__unused__)))
45
{ /* never called */ }
46
static void operator delete[](void *ptr __attribute__((__unused__)),
47
MEM_ROOT *mem_root __attribute__((__unused__)))
48
{ /* never called */ }
49
static void operator delete[](void *ptr __attribute__((__unused__)),
50
size_t size __attribute__((__unused__)))
92
51
{ TRASH(ptr, size); }
167
126
list_copy_and_replace_each_value after creating a copy.
169
128
base_list(const base_list &rhs, MEM_ROOT *mem_root);
170
inline base_list(bool error __attribute__((unused))) { }
129
inline base_list(bool error __attribute__((__unused__))) { }
171
130
inline bool push_back(void *info)
173
132
if (((*last)=new list_node(info, &end_of_list)))
465
424
template <class T> class List_iterator_fast :public base_list_iterator
468
inline T *replace(T *a __attribute__((unused))) { return (T*) 0; }
469
inline T *replace(List<T> &a __attribute__((unused))) { return (T*) 0; }
427
inline T *replace(T *a __attribute__((__unused__))) { return (T*) 0; }
428
inline T *replace(List<T> &a __attribute__((__unused__))) { return (T*) 0; }
470
429
inline void remove(void) { }
471
inline void after(T *a __attribute__((unused))) { }
430
inline void after(T *a __attribute__((__unused__))) { }
472
431
inline T** ref(void) { return (T**) 0; }
497
456
return (void*)my_malloc((uint)size, MYF(MY_WME | MY_FAE | ME_FATALERROR));
499
458
static void operator delete(void* ptr_arg,
500
size_t size __attribute__((unused)))
459
size_t size __attribute__((__unused__)))
502
461
my_free((uchar*)ptr_arg, MYF(MY_WME|MY_ALLOW_ZERO_PTR));