# Change Log\r
\r
+## 2013-10-29 [no-boost branch] - Removed boost dependency for everything except python integration.\r
+\r
+This branch requires C++11 support and has removed all the non-boost::python dependecies, reducing the overhead of running entityx.\r
+\r
## 2013-08-22 - Remove `boost::signal` and switch to `Simple::Signal`.\r
\r
According to the [benchmarks](http://timj.testbit.eu/2013/cpp11-signal-system-performance/) Simple::Signal is an order of magnitude faster than `boost::signal`. Additionally, `boost::signal` is now deprecated in favor of `boost::signal2`, which is not supported on versions of Boost on a number of platforms.\r
# EntityX - A fast, type-safe C++ Entity Component System \r
-(No Boost Branch)\r
\r
[](https://travis-ci.org/alecthomas/entityx)\r
\r
\r
## Recent Notable Changes\r
\r
+- 2013-10-29 - The 'no-boost' branch now exists to remove boost as a dependency for builds not using python.\r
- 2013-08-21 - Remove dependency on `boost::signal` and switch to embedded [Simple::Signal](http://timj.testbit.eu/2013/cpp11-signal-system-performance/).\r
- 2013-08-18 - Destroying an entity invalidates all other references\r
- 2013-08-17 - Python scripting, and a more robust build system\r
#cmakedefine ENTITYX_INSTALLED_PYTHON_PACKAGE_DIR "@ENTITYX_INSTALLED_PYTHON_PACKAGE_DIR@"\r
#cmakedefine ENTITYX_NEED_GET_POINTER_SHARED_PTR_SPECIALIZATION "@ENTITYX_NEED_GET_POINTER_SHARED_PTR_SPECIALIZATION@"\r
\r
-#define ENTITYX_USE_STD_SHARED_PTR 1\r
#define ENTITYX_HAVE_STD_SHARED_PTR 1\r
\r
#include <stdint.h>\r
\r
\r
// Which shared_ptr implementation should we use?\r
-#if (ENTITYX_HAVE_STD_SHARED_PTR && ENTITYX_USE_STD_SHARED_PTR)\r
+#if (ENTITYX_HAVE_STD_SHARED_PTR)\r
\r
#include <memory>\r
\r
\r
} // namespace entityx\r
\r
-#elif ENTITYX_HAVE_BOOST_SHARED_PTR\r
-\r
-#include <boost/shared_ptr.hpp>\r
-#include <boost/weak_ptr.hpp>\r
-#include <boost/enable_shared_from_this.hpp>\r
-\r
-\r
-namespace entityx {\r
-\r
-template <typename T>\r
-using ptr = boost::shared_ptr<T>;\r
-template <typename T>\r
-using weak_ptr = boost::weak_ptr<T>;\r
-template <typename T, typename U>\r
-ptr<U> static_pointer_cast(const ptr<T> &ptr) {\r
- return boost::static_pointer_cast<U>(ptr);\r
-}\r
-template <typename T>\r
-using enable_shared_from_this = boost::enable_shared_from_this<T>;\r
-\r
-} // namespace entityx\r
-\r
#else\r
\r
-#warning "Don't have a boost or std shared_ptr implementation to use"\r
+#warning "Don't have a std shared_ptr implementation to use"\r
\r
#endif\r
\r