| namespace std { | |
| template <typename type> | |
| class shared_ptr { | |
| public: | |
| shared_ptr(); | |
| shared_ptr(type *ptr); | |
| shared_ptr(const shared_ptr<type> &t) {} | |
| shared_ptr(shared_ptr<type> &&t) {} | |
| ~shared_ptr(); | |
| type &operator*() { return *ptr; } | |
| type *operator->() { return ptr; } | |
| type *release(); | |
| void reset(); | |
| void reset(type *pt); | |
| shared_ptr &operator=(shared_ptr &&); | |
| template <typename T> | |
| shared_ptr &operator=(shared_ptr<T> &&); | |
| private: | |
| type *ptr; | |
| }; | |
| } // namespace std |