18 #ifndef RAUL_SHARED_PTR_HPP 19 #define RAUL_SHARED_PTR_HPP 21 #ifdef BOOST_SP_ENABLE_DEBUG_HOOKS 28 static std::set<void*> shared_ptr_counters;
32 inline void sp_scalar_constructor_hook(
void* px, std::size_t size,
void* pn) {
33 assert(shared_ptr_counters.find(px) == shared_ptr_counters.end());
34 shared_ptr_counters.push_back(px);
37 inline void sp_scalar_destructor_hook(
void* px, std::size_t size,
void* pn) {
38 shared_ptr_counters.remove(px);
41 #endif // BOOST_SP_ENABLE_DEBUG_HOOKS 44 #include <boost/shared_ptr.hpp> 46 #ifdef BOOST_AC_USE_PTHREADS 47 #error "Boost is using mutexes for shared_ptr reference counting." 48 #error "This is VERY slow. Please report your platform to d@drobilla.net" 51 template <
typename T>
void NullDeleter(T* ptr) {}
53 #define SharedPtr boost::shared_ptr 54 #define PtrCast boost::dynamic_pointer_cast 56 #endif // RAUL_SHARED_PTR_HPP