summaryrefslogtreecommitdiffstats
path: root/Source/cmAlgorithms.h
diff options
context:
space:
mode:
authorDaniel Pfeifer <daniel@pfeifer-mail.de>2017-08-16 22:41:18 (GMT)
committerDaniel Pfeifer <daniel@pfeifer-mail.de>2017-08-26 05:46:57 (GMT)
commit4614a3b287456fad12bcb91ad2936214da3237bf (patch)
tree73b988b53642367f65a43795b9cba783f04a0fe0 /Source/cmAlgorithms.h
parentebe436eb97bf81704a1d0b074b3da4ac817f37d3 (diff)
downloadCMake-4614a3b287456fad12bcb91ad2936214da3237bf.zip
CMake-4614a3b287456fad12bcb91ad2936214da3237bf.tar.gz
CMake-4614a3b287456fad12bcb91ad2936214da3237bf.tar.bz2
server: backport to C++11
Diffstat (limited to 'Source/cmAlgorithms.h')
-rw-r--r--Source/cmAlgorithms.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmAlgorithms.h b/Source/cmAlgorithms.h
index 4adfe23..a4f66a9 100644
--- a/Source/cmAlgorithms.h
+++ b/Source/cmAlgorithms.h
@@ -9,6 +9,7 @@
#include <algorithm>
#include <functional>
#include <iterator>
+#include <memory>
#include <sstream>
#include <string.h>
#include <string>
@@ -402,4 +403,22 @@ inline void cmStripSuffixIfExists(std::string& str, const std::string& suffix)
}
}
+namespace cm {
+
+#if defined(CMake_HAVE_CXX_MAKE_UNIQUE)
+
+using std::make_unique;
+
+#else
+
+template <typename T, typename... Args>
+std::unique_ptr<T> make_unique(Args&&... args)
+{
+ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+}
+
+#endif
+
+} // namespace cm
+
#endif