26 #ifndef INCLUDED_SharedPtr_h_GUID_E9C5BC8D_7D3A_4896_1552_6F4F5292783C
27 #define INCLUDED_SharedPtr_h_GUID_E9C5BC8D_7D3A_4896_1552_6F4F5292783C
29 #if defined(OSVR_SHAREDPTR_USE_BOOST) && defined(OSVR_SHAREDPTR_USE_STD)
30 #error "Can't use both boost and std shared_ptr"
33 #if !defined(OSVR_SHAREDPTR_USE_BOOST) && !defined(OSVR_SHAREDPTR_USE_STD)
38 #define OSVR_SHAREDPTR_USE_BOOST
40 #define OSVR_SHAREDPTR_USE_STD
43 #elif defined(__GXX_EXPERIMENTAL_CXX0X) || __cplusplus >= 201103L
45 #define OSVR_SHAREDPTR_USE_STD
49 #define OSVR_SHAREDPTR_USE_BOOST
51 #endif // !defined(OSVR_SHAREDPTR_USE_BOOST) && !defined(OSVR_SHAREDPTR_USE_STD)
53 #ifdef OSVR_SHAREDPTR_USE_BOOST
54 #include <boost/shared_ptr.hpp>
56 using boost::shared_ptr;
57 using boost::weak_ptr;
58 using boost::make_shared;
59 using boost::enable_shared_from_this;
66 using std::shared_ptr;
68 using std::make_shared;
69 using std::enable_shared_from_this;
73 #endif // INCLUDED_SharedPtr_h_GUID_E9C5BC8D_7D3A_4896_1552_6F4F5292783C
The main namespace for all C++ elements of the framework, internal and external.