… | |
… | |
224 | g_slice_free1 (n * sizeof (T), (void *)ptr); |
224 | g_slice_free1 (n * sizeof (T), (void *)ptr); |
225 | assert (slice_alloc >= 0);//D |
225 | assert (slice_alloc >= 0);//D |
226 | } |
226 | } |
227 | } |
227 | } |
228 | |
228 | |
|
|
229 | // nulls the pointer |
|
|
230 | template<typename T> |
|
|
231 | inline void sfree0 (T *&ptr, int n = 1) throw () |
|
|
232 | { |
|
|
233 | sfree<T> (ptr, n); |
|
|
234 | ptr = 0; |
|
|
235 | } |
|
|
236 | |
229 | // makes dynamically allocated objects zero-initialised |
237 | // makes dynamically allocated objects zero-initialised |
230 | struct zero_initialised |
238 | struct zero_initialised |
231 | { |
239 | { |
232 | void *operator new (size_t s, void *p) |
240 | void *operator new (size_t s, void *p) |
233 | { |
241 | { |