summaryrefslogtreecommitdiffstats
path: root/src/Globals.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Globals.h')
-rw-r--r--src/Globals.h22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/Globals.h b/src/Globals.h
index 4ee1352eb..e0a25ed83 100644
--- a/src/Globals.h
+++ b/src/Globals.h
@@ -361,19 +361,8 @@ void inline LOGD(const char* a_Format, ...)
#define assert_test(x) ( !!(x) || (assert(!#x), exit(1), 0))
#endif
-// Allow both Older versions of MSVC and newer versions of everything use a shared_ptr:
-// Note that we cannot typedef, because C++ doesn't allow (partial) templates to be typedeffed.
-#if (defined(_MSC_VER) && (_MSC_VER < 1600))
- // MSVC before 2010 doesn't have std::shared_ptr, but has std::tr1::shared_ptr, defined in <memory> included earlier
- #define SharedPtr std::tr1::shared_ptr
-#elif (defined(_MSC_VER) || (__cplusplus >= 201103L))
- // C++11 has std::shared_ptr in <memory>, included earlier
- #define SharedPtr std::shared_ptr
-#else
- // C++03 has std::tr1::shared_ptr in <tr1/memory>
- #include <tr1/memory>
- #define SharedPtr std::tr1::shared_ptr
-#endif
+// Unified shared ptr from before C++11. Also no silly undercores.
+#define SharedPtr std::shared_ptr
@@ -419,6 +408,12 @@ typename std::enable_if<std::is_arithmetic<T>::value, C>::type CeilC(T a_Value)
+//temporary replacement for std::make_unique until we get c++14
+template <class T, class... Args>
+std::unique_ptr<T> make_unique(Args&&... args)
+{
+ return std::unique_ptr<T>(new T(args...));
+}
#ifndef TOLUA_TEMPLATE_BIND
@@ -436,3 +431,4 @@ typename std::enable_if<std::is_arithmetic<T>::value, C>::type CeilC(T a_Value)
#include "BlockInfo.h"
+