home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / NEW.H < prev    next >
C/C++ Source or Header  |  1997-02-28  |  2KB  |  88 lines

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