1 | #ifndef UTIL_H__ |
1 | #ifndef UTIL_H__ |
2 | #define UTIL_H__ |
2 | #define UTIL_H__ |
|
|
3 | |
|
|
4 | #if __GNUC__ >= 3 |
|
|
5 | # define is_constant(c) __builtin_constant_p (c) |
|
|
6 | #else |
|
|
7 | # define is_constant(c) 0 |
|
|
8 | #endif |
3 | |
9 | |
4 | // makes dynamically allocated objects zero-initialised |
10 | // makes dynamically allocated objects zero-initialised |
5 | struct zero_initialised |
11 | struct zero_initialised |
6 | { |
12 | { |
7 | void *operator new (size_t s); |
13 | void *operator new (size_t s); |
|
|
14 | void *operator new [] (size_t s); |
8 | void operator delete (void *p, size_t s); |
15 | void operator delete (void *p, size_t s); |
|
|
16 | void operator delete [] (void *p, size_t s); |
9 | }; |
17 | }; |
10 | |
18 | |
11 | #endif |
19 | #endif |
12 | |
20 | |