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