00001 #ifndef _common_shared_ptr_h
00002 #define _common_shared_ptr_h
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #include <boost/shared_ptr.hpp>
00023 #include <boost/cast.hpp>
00024
00025 namespace qpid {
00026
00027
00028
00029
00030 using boost::shared_ptr;
00031 using boost::dynamic_pointer_cast;
00032 using boost::static_pointer_cast;
00033 using boost::const_pointer_cast;
00034 using boost::shared_polymorphic_downcast;
00035
00036 template <class T> shared_ptr<T> make_shared_ptr(T* ptr) {
00037 return shared_ptr<T>(ptr);
00038 }
00039
00040 template <class T, class D>
00041 shared_ptr<T> make_shared_ptr(T* ptr, D deleter) {
00042 return shared_ptr<T>(ptr, deleter);
00043 }
00044
00045 inline void nullDeleter(void const *) {}
00046
00047 }
00048
00049
00050
00051 #endif