home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / msdos / c / djgpp / include / new.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-01-20  |  1.1 KB  |  41 lines

  1. /* This file may have been modified by DJ Delorie (Jan 1991).  If so,
  2. ** these modifications are Coyright (C) 1991 DJ Delorie, 24 Kirsten Ave,
  3. ** Rochester NH, 03867-2954, USA.
  4. */
  5.  
  6. #ifndef _new_h
  7. #pragma once
  8. #define _new_h 1
  9.  
  10. #include <stddef.h>
  11. #include <std.h>
  12.  
  13. #ifndef NO_LIBGXX_MALLOC
  14. #define MALLOC_ALIGN_MASK   7 /* ptrs aligned at 8 byte boundaries */
  15. #define MALLOC_MIN_OVERHEAD 8 /* 8 bytes of overhead per pointer */
  16. #endif
  17.  
  18. typedef void (*new_handler_t)();
  19. #ifdef __cplusplus
  20. extern "C" void default_new_handler();
  21. extern "C" new_handler_t set_new_handler(new_handler_t);
  22. #else
  23. extern void default_new_handler();
  24. extern new_handler_t set_new_handler(new_handler_t);
  25. #endif
  26.  
  27. #ifdef __GNUG__
  28. #define NEW(where) new { where }
  29. #endif
  30.  
  31. // default placement version of operator new
  32. static inline void *operator new(size_t, void *place) { return place; }
  33.  
  34. // provide a C++ interface to vector-resize via realloc 
  35. static inline void *operator new(size_t size, void *ptr, size_t new_len)
  36. {
  37.   return realloc(ptr, new_len * size);
  38. }
  39.  
  40. #endif
  41.