genericopenlibs/cppstdlib/stl/stlport/stl/_new.h
changeset 49 e5d77a29bdca
parent 0 e4d67989cc36
equal deleted inserted replaced
48:ab61c4cedc64 49:e5d77a29bdca
   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