diff --git a/TinySTL/COWPtr.h b/TinySTL/COWPtr.h index e94fbbcc50e2ae236d540634bf0b0fb6848dbb5a..894564678b38b3d9037ebd9ac1bd4790ad991161 100644 --- a/TinySTL/COWPtr.h +++ b/TinySTL/COWPtr.h @@ -6,9 +6,24 @@ namespace TinySTL{ template class cow_ptr{ + public: + typedef T element_type; + public: + explicit cow_ptr(T *p = nullptr); + template + cow_ptr(T *p, D d); + + cow_ptr(const cow_ptr& cp); + cow_ptr& operator = (const cow_ptr& cp); + + element_type operator *()const; + element_type *operator ->()const; private: - shared_ptr ptr_; + shared_ptr ptr_; + }; } +#include "Detail\COWPtr.impl.h" + #endif \ No newline at end of file