From 44b4de150a40a21a96ed73a7964e6125a8102f60 Mon Sep 17 00:00:00 2001 From: Antony Woods Date: Mon, 4 Nov 2013 08:53:42 +0000 Subject: Revert "Tidied up config.h.in to remove redundant guard" This reverts commit a5247cfd2a63ac4ef4820a61d43af0fb10f722ae. --- entityx/config.h.in | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/entityx/config.h.in b/entityx/config.h.in index f57794e..934fadc 100644 --- a/entityx/config.h.in +++ b/entityx/config.h.in @@ -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 #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 +namespace entityx { + template using ptr = std::shared_ptr; template @@ -25,6 +35,17 @@ ptr static_pointer_cast(const ptr &ptr) { template using enable_shared_from_this = std::enable_shared_from_this; +} // namespace entityx + +#else + +#warning "Don't have a std shared_ptr implementation to use" + +#endif + + +namespace entityx { + template bool operator == (const weak_ptr &a, const weak_ptr &b) { return a.lock() == b.lock(); -- cgit v1.2.3