summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/Globals.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Globals.h b/src/Globals.h
index 2e7e0c9cf..93baf69ea 100644
--- a/src/Globals.h
+++ b/src/Globals.h
@@ -270,11 +270,15 @@ template class SizeChecker<UInt16, 2>;
// 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
+ // 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
-#else
- // All others have std::shared ptr
+#elif (__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