OSDN Git Service

rm latex/
[moflib/moflib.git] / oldmof / Deleter.hpp
1 #include <boost/shared_ptr.hpp>
2 #include <boost/weak_ptr.hpp>
3 #include "mof/EventScheduler.hpp"
4
5 namespace mof{
6         
7         template <class T>
8         class Deleter{
9                 boost::shared_ptr<T> m_p;
10         public:
11                 Deleter(T* p) : m_p(p) {}
12                 Deleter( typename boost::shared_ptr<T>& p) : m_p(p) {}
13
14                 void operator ()(){
15                         m_p = boost::shared_ptr<T>();
16                 }
17
18                 boost::weak_ptr<T> getWeak(){
19                         return m_p;
20                 }
21         };
22
23 };