diff options
author | Daniel Pfeifer <daniel@pfeifer-mail.de> | 2017-08-16 22:41:18 (GMT) |
---|---|---|
committer | Daniel Pfeifer <daniel@pfeifer-mail.de> | 2017-08-26 05:46:57 (GMT) |
commit | 4614a3b287456fad12bcb91ad2936214da3237bf (patch) | |
tree | 73b988b53642367f65a43795b9cba783f04a0fe0 /Source/cmAlgorithms.h | |
parent | ebe436eb97bf81704a1d0b074b3da4ac817f37d3 (diff) | |
download | CMake-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.h | 19 |
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 |