Actually call on_reset callback
[lsnes.git] / include / library / map-pointer.hpp
blobba3a8d79c71da8f75861631e9851ed38abee5d71
1 #ifndef _library__map_pointer__hpp__
2 #define _library__map_pointer__hpp__
4 template<typename T> struct map_pointer
6 map_pointer()
8 p = NULL;
10 map_pointer& operator=(T* ptr)
12 p = ptr;
13 return *this;
15 ~map_pointer()
17 if(p)
18 delete p;
20 T& operator*()
22 return *p;
24 T* operator->()
26 return p;
28 map_pointer(const map_pointer& q)
30 if(q.p)
31 throw std::runtime_error("Bad map pointer copy");
32 p = NULL;
34 private:
35 map_pointer& operator=(const map_pointer&);
36 T* p;
39 #endif