summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoanna Hulboj <joanna.hulboj@isode.com>2017-04-28 13:52:47 (GMT)
committerKevin Smith <kevin.smith@isode.com>2017-07-07 16:23:08 (GMT)
commitf68d574ff04162e98e16a636c66ab6de5960e875 (patch)
tree0248d9450a8bb6aa6731067d9f921791d9d4deaa /Backport
parentd89b27b8796f89c847c280dacfb1b09fd6cb6731 (diff)
downloadswift-f68d574ff04162e98e16a636c66ab6de5960e875.zip
swift-f68d574ff04162e98e16a636c66ab6de5960e875.tar.bz2
Make std:: make_unique available in gcc with c++11
Test-Information: Unit tests pass OK on Windows 10 and CentOS 7.3. Change-Id: I33c9eb6b3e6409727350a44e6d5c88c5e8907275
Diffstat (limited to 'Backport')
-rw-r--r--Backport/memory23
1 files changed, 23 insertions, 0 deletions
diff --git a/Backport/memory b/Backport/memory
new file mode 100644
index 0000000..018113e
--- /dev/null
+++ b/Backport/memory
@@ -0,0 +1,23 @@
+/*
+ * Copyright (c) 2017 Isode Limited.
+ * All rights reserved.
+ * See the COPYING file for more information.
+ */
+
+#pragma once
+
+#include_next <memory>
+
+
+#if __cplusplus < 201402L && !MSC_VER
+namespace std {
+
+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
+