CommonMin.h 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. #pragma once
  6. #include "CommonBasic.h"
  7. // === C Runtime Header Files ===
  8. #ifndef USING_PAL_STDLIB
  9. #pragma warning(push)
  10. #pragma warning(disable: 4995) /* 'function': name was marked as #pragma deprecated */
  11. #include <stdio.h>
  12. #pragma warning(pop)
  13. #ifdef _WIN32
  14. #include <intrin.h>
  15. #endif
  16. #endif
  17. // === Core Header Files ===
  18. // In Debug mode, the PALs definition of max and min are insufficient
  19. // since some of our code expects the template min-max instead, so
  20. // including that here
  21. #if defined(DBG) && !defined(_MSC_VER)
  22. #pragma push_macro("NO_PAL_MINMAX")
  23. #pragma push_macro("_Post_equal_to")
  24. #pragma push_macro("_Post_satisfies_")
  25. #define NO_PAL_MINMAX
  26. #define _Post_equal_to_(x)
  27. #define _Post_satisfies_(x)
  28. #endif
  29. #include "Core/CommonMinMax.h"
  30. // Restore the macros
  31. #if defined(DBG) && !defined(_MSC_VER)
  32. #pragma pop_macro("NO_PAL_MINMAX")
  33. #pragma pop_macro("_Post_equal_to")
  34. #pragma pop_macro("_Post_satisfies_")
  35. #endif
  36. #include "EnumHelp.h"
  37. #include "Core/Assertions.h"
  38. #include "Core/SysInfo.h"
  39. #include "Core/PerfCounter.h"
  40. #include "Core/PerfCounterSet.h"
  41. #include "Common/MathUtil.h"
  42. #include "Core/AllocSizeMath.h"
  43. #include "Core/FaultInjection.h"
  44. #include "Core/BasePtr.h"
  45. #include "Core/AutoFile.h"
  46. #include "Core/Output.h"
  47. // === Basic Memory Header Files ===
  48. namespace Memory
  49. {
  50. class ArenaAllocator;
  51. class Recycler;
  52. }
  53. using namespace Memory;
  54. #include "Memory/Allocator.h"
  55. #include "Memory/HeapAllocator.h"
  56. #include "Memory/RecyclerPointers.h"
  57. // === Data structures Header Files ===
  58. #include "DataStructures/QuickSort.h"
  59. #include "DataStructures/DefaultContainerLockPolicy.h"
  60. #include "DataStructures/Comparer.h"
  61. #include "DataStructures/SizePolicy.h"
  62. #include "DataStructures/BitVector.h"
  63. #include "DataStructures/SList.h"
  64. #include "DataStructures/DList.h"
  65. #include "DataStructures/KeyValuePair.h"
  66. #include "DataStructures/BaseDictionary.h"
  67. #include "DataStructures/DictionaryEntry.h"
  68. // === Configurations Header ===
  69. #include "Core/ConfigFlagsTable.h"
  70. #include "Core/GlobalSecurityPolicy.h"
  71. // === Page/Arena Memory Header Files ===
  72. #include "Memory/SectionAllocWrapper.h"
  73. #include "Memory/VirtualAllocWrapper.h"
  74. #include "Memory/MemoryTracking.h"
  75. #include "Memory/AllocationPolicyManager.h"
  76. #include "Memory/PageAllocator.h"
  77. #include "Memory/ArenaAllocator.h"