]> code.bitgloo.com Git - clyne/entityx.git/commitdiff
Revert "Tidied up config.h.in to remove redundant guard"
authorAntony Woods <acron1@gmail.com>
Mon, 4 Nov 2013 08:53:42 +0000 (08:53 +0000)
committerAntony Woods <acron1@gmail.com>
Mon, 4 Nov 2013 08:53:42 +0000 (08:53 +0000)
This reverts commit a5247cfd2a63ac4ef4820a61d43af0fb10f722ae.

entityx/config.h.in

index f57794e37e84351c664a2fd24da2fab5663bc8bb..934fadca859e2b8476eb029db5cee184c56b2a94 100644 (file)
@@ -5,6 +5,8 @@
 #cmakedefine ENTITYX_INSTALLED_PYTHON_PACKAGE_DIR "@ENTITYX_INSTALLED_PYTHON_PACKAGE_DIR@"
 #cmakedefine ENTITYX_NEED_GET_POINTER_SHARED_PTR_SPECIALIZATION "@ENTITYX_NEED_GET_POINTER_SHARED_PTR_SPECIALIZATION@"
 
+#define ENTITYX_HAVE_STD_SHARED_PTR 1
+
 #include <stdint.h>
 #include "entityx/config.h"
 
@@ -12,8 +14,16 @@ namespace entityx {
 
 static const uint64_t MAX_COMPONENTS = ENTITYX_MAX_COMPONENTS;
 
+}  // namespace entityx
+
+
+// Which shared_ptr implementation should we use?
+#if (ENTITYX_HAVE_STD_SHARED_PTR)
+
 #include <memory>
 
+namespace entityx {
+
 template <typename T>
 using ptr = std::shared_ptr<T>;
 template <typename T>
@@ -25,6 +35,17 @@ ptr<U> static_pointer_cast(const ptr<T> &ptr) {
 template <typename T>
 using enable_shared_from_this = std::enable_shared_from_this<T>;
 
+}  // namespace entityx
+
+#else
+
+#warning "Don't have a std shared_ptr implementation to use"
+
+#endif
+
+
+namespace entityx {
+
 template <typename T>
 bool operator == (const weak_ptr<T> &a, const weak_ptr<T> &b) {
   return a.lock() == b.lock();