136 # define _STLP_CHECK_NULL_ALLOC(__x) void* __y = __x; if (__y == 0) { _STLP_THROW(_STLP_STD::bad_alloc()); } return __y |
137 # define _STLP_CHECK_NULL_ALLOC(__x) void* __y = __x; if (__y == 0) { _STLP_THROW(_STLP_STD::bad_alloc()); } return __y |
137 # else |
138 # else |
138 # define _STLP_CHECK_NULL_ALLOC(__x) return __x |
139 # define _STLP_CHECK_NULL_ALLOC(__x) return __x |
139 # endif |
140 # endif |
140 |
141 |
|
142 #ifdef __SYMBIAN32__ |
|
143 IMPORT_C void* backend_allocate(size_t); |
|
144 IMPORT_C void backend_free(void*); |
|
145 #endif |
|
146 |
|
147 |
141 _STLP_BEGIN_NAMESPACE |
148 _STLP_BEGIN_NAMESPACE |
142 |
149 |
143 # if ((defined (__IBMCPP__) || defined (__OS400__) || defined (__xlC__) || defined (qTidyHeap)) && defined (__DEBUG_ALLOC__)) |
150 # if ((defined (__IBMCPP__) || defined (__OS400__) || defined (__xlC__) || defined (qTidyHeap)) && defined (__DEBUG_ALLOC__)) |
144 inline void* _STLP_CALL __stl_new(size_t __n) { _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n, __FILE__, __LINE__)); } |
151 inline void* _STLP_CALL __stl_new(size_t __n) { _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n, __FILE__, __LINE__)); } |
145 inline void _STLP_CALL __stl_delete(void* __p) { ::operator delete(__p, __FILE__, __LINE__); } |
152 inline void _STLP_CALL __stl_delete(void* __p) { ::operator delete(__p, __FILE__, __LINE__); } |
146 # else |
153 # else |
147 inline void* _STLP_CALL __stl_new(size_t __n) { _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n)); } |
154 inline void* _STLP_CALL __stl_new(size_t __n) |
148 inline void _STLP_CALL __stl_delete(void* __p) { ::operator delete(__p); } |
155 { |
|
156 #ifdef __SYMBIAN32__ |
|
157 return backend_allocate(__n); |
|
158 #else |
|
159 _STLP_CHECK_NULL_ALLOC(::operator _STLP_NEW(__n)); |
|
160 #endif |
|
161 } |
|
162 inline void _STLP_CALL __stl_delete(void* __p) |
|
163 { |
|
164 #ifdef __SYMBIAN32__ |
|
165 backend_free(__p); |
|
166 #else |
|
167 ::operator delete(__p); |
|
168 #endif |
|
169 } |
149 # endif |
170 # endif |
150 _STLP_END_NAMESPACE |
171 _STLP_END_NAMESPACE |
151 |
172 |
152 #endif /* _STLP_RTTI_BUG */ |
173 #endif /* _STLP_RTTI_BUG */ |
153 |
174 |