summaryrefslogtreecommitdiffstats
path: root/Source/cm_unordered_map.hxx
diff options
context:
space:
mode:
authorDaniel Pfeifer <daniel@pfeifer-mail.de>2016-10-21 21:52:51 (GMT)
committerBrad King <brad.king@kitware.com>2016-10-24 13:58:52 (GMT)
commit1a74e719068c97518d6f9521c86862a17166f32e (patch)
tree2f45312d552f2cc383871fff6ef1cd0cef847151 /Source/cm_unordered_map.hxx
parent1e555a44aa4e3d40bca2f88915c9f957098e5a55 (diff)
downloadCMake-1a74e719068c97518d6f9521c86862a17166f32e.zip
CMake-1a74e719068c97518d6f9521c86862a17166f32e.tar.gz
CMake-1a74e719068c97518d6f9521c86862a17166f32e.tar.bz2
Introduce CM_UNORDERED_MAP
Avoid duplicating switch among std::unordered_map, cmsys::hash_map, and std::map.
Diffstat (limited to 'Source/cm_unordered_map.hxx')
-rw-r--r--Source/cm_unordered_map.hxx25
1 files changed, 25 insertions, 0 deletions
diff --git a/Source/cm_unordered_map.hxx b/Source/cm_unordered_map.hxx
new file mode 100644
index 0000000..dc8ca35
--- /dev/null
+++ b/Source/cm_unordered_map.hxx
@@ -0,0 +1,25 @@
+/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+ file Copyright.txt or https://cmake.org/licensing for details. */
+#ifndef CM_UNORDERED_MAP_HXX
+#define CM_UNORDERED_MAP_HXX
+
+#include <cmConfigure.h>
+
+#if defined(CMake_HAVE_CXX_UNORDERED_MAP)
+
+#include <unordered_map>
+#define CM_UNORDERED_MAP std::unordered_map
+
+#elif defined(CMAKE_BUILD_WITH_CMAKE)
+
+#include <cmsys/hash_map.hxx>
+#define CM_UNORDERED_MAP cmsys::hash_map
+
+#else
+
+#include <map>
+#define CM_UNORDERED_MAP std::map
+
+#endif
+
+#endif