Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
2.8 KiB

  1. #ifndef _SMALL_HEAP_HPP_
  2. #define _SMALL_HEAP_HPP_
  3. // Ruler
  4. // 1 2 3 4 5 6 7 8
  5. //345678901234567890123456789012345678901234567890123456789012345678901234567890
  6. /********************************************************************/
  7. /* */
  8. /* The standard layout. */
  9. /* */
  10. /* The standard layout for 'hpp' files for this code is as */
  11. /* follows: */
  12. /* */
  13. /* 1. Include files. */
  14. /* 2. Constants exported from the class. */
  15. /* 3. Data structures exported from the class. */
  16. /* 4. Forward references to other data structures. */
  17. /* 5. Class specifications (including inline functions). */
  18. /* 6. Additional large inline functions. */
  19. /* */
  20. /* Any portion that is not required is simply omitted. */
  21. /* */
  22. /********************************************************************/
  23. #include "Rockall.hpp"
  24. /********************************************************************/
  25. /* */
  26. /* A small heap. */
  27. /* */
  28. /* A small heap tries to significantly reduce memory usage */
  29. /* even if that comes at a significant cost in terms of */
  30. /* performance. */
  31. /* */
  32. /********************************************************************/
  33. class ROCKALL_DLL_LINKAGE SMALL_HEAP : public ROCKALL
  34. {
  35. public:
  36. //
  37. // Public functions.
  38. //
  39. SMALL_HEAP
  40. (
  41. int MaxFreeSpace = 0,
  42. bool Recycle = false,
  43. bool SingleImage = false,
  44. bool ThreadSafe = true
  45. );
  46. ~SMALL_HEAP( void );
  47. private:
  48. //
  49. // Disabled operations.
  50. //
  51. // All copy constructors and class assignment
  52. // operations are disabled.
  53. //
  54. SMALL_HEAP( const SMALL_HEAP & Copy );
  55. void operator=( const SMALL_HEAP & Copy );
  56. };
  57. #endif