home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 9 / CDACTUAL9.iso / progs / CB / DATA.Z / NEW.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-18  |  1.9 KB  |  82 lines

  1. /*  new.h
  2.  
  3.     Access to operator new() and newhandler()
  4.  
  5. */
  6.  
  7. /* $Copyright: 1990$ */
  8. /* $Revision:   8.1  $ */
  9.  
  10. #if !defined(__NEW_H)
  11. #define __NEW_H
  12.  
  13. #ifndef __cplusplus
  14. #error Must use C++ with new.h
  15. #endif
  16.  
  17. #if !defined(___DEFS_H)
  18. #include <_defs.h>
  19. #endif
  20.  
  21.  
  22. #if !defined(RC_INVOKED)
  23.  
  24. #if defined(__STDC__)
  25. #pragma warn -nak
  26. #endif
  27.  
  28. #endif  /* !RC_INVOKED */
  29.  
  30.  
  31. #ifndef _SIZE_T
  32. #define _SIZE_T
  33. typedef unsigned size_t;
  34. #endif
  35.  
  36. class _EXPCLASS xalloc;
  37.  
  38. typedef void (* _RTLENTRY new_handler)() /* throw(xalloc) */;
  39. new_handler _RTLENTRY set_new_handler(new_handler);
  40.  
  41. #if defined(__MFC_COMPAT__)
  42. typedef int (* _RTLENTRY _PNH)(size_t);
  43. inline _PNH _RTLENTRY set_new_handler(_PNH p)
  44.                       { return (_PNH) set_new_handler ((new_handler)p); }
  45. #endif
  46.  
  47. #ifdef __MSC  // Uses non-ANSI name
  48. #define _set_new_handler(f) set_new_handler(f)
  49. #endif
  50.  
  51. void * _RTLENTRY _EXPFUNC32 operator new(size_t size);
  52. void * _RTLENTRY _EXPFUNC32 operator new(size_t size, void *ptr);
  53.  
  54. void * _RTLENTRY _EXPFUNC32 operator new[](size_t size);
  55. void * _RTLENTRY _EXPFUNC32 operator new[](size_t size, void *ptr);
  56.  
  57. void   _RTLENTRY _EXPFUNC32 operator delete  (void *);
  58. void   _RTLENTRY _EXPFUNC32 operator delete[](void *);
  59.  
  60. #if !defined(__FLAT__) && (defined(__COMPACT__) || defined(__LARGE__) || defined(__HUGE__))
  61.     void __far * _RTLENTRY operator new(unsigned long size);
  62.     void __far * _RTLENTRY operator new(unsigned long size, void __far *ptr);
  63.  
  64.     void __far * _RTLENTRY operator new[](unsigned long size);
  65.     void __far * _RTLENTRY operator new[](unsigned long size, void __far *ptr);
  66.  
  67.     void         _RTLENTRY operator delete  (void __far *ptr);
  68.     void         _RTLENTRY operator delete[](void __far *ptr);
  69. #endif
  70.  
  71. #if !defined(RC_INVOKED)
  72.  
  73. #if defined(__STDC__)
  74. #pragma warn .nak
  75. #endif
  76.  
  77. #endif  /* !RC_INVOKED */
  78.  
  79.  
  80. #endif  /* __NEW_H */
  81.  
  82.