1 | #ifndef RXVT_UTIL_H |
1 | #ifndef RXVT_UTIL_H |
2 | #define RXVT_UTIL_H |
2 | #define RXVT_UTIL_H |
3 | |
3 | |
4 | #include <new> |
|
|
5 | #include <stdlib.h> |
4 | #include <stdlib.h> |
6 | #include <string.h> |
5 | #include <string.h> |
7 | #include "ecb.h" |
6 | #include "ecb.h" |
8 | #include "estl.h" |
7 | #include "estl.h" |
9 | |
8 | |
… | |
… | |
61 | { |
60 | { |
62 | void *operator new (size_t s); |
61 | void *operator new (size_t s); |
63 | void operator delete (void *p, size_t s); |
62 | void operator delete (void *p, size_t s); |
64 | }; |
63 | }; |
65 | |
64 | |
66 | // alas new/delete cannot be specified as inline in C++11 (see 17.6.4.6) |
|
|
67 | void *operator new (size_t s) throw (std::bad_alloc); |
|
|
68 | void operator delete (void *p) throw (); |
|
|
69 | |
|
|
70 | struct stringvec : simplevec<char *> |
65 | struct stringvec : simplevec<char *> |
71 | { |
66 | { |
72 | ~stringvec () |
67 | ~stringvec () |
73 | { |
68 | { |
74 | for (char **c = begin (); c != end (); c++) |
69 | for (char **c = begin (); c != end (); c++) |