135 template <
class T1>
friend class Ptr;
141 template <
class T1,
class ... Args>
142 static Ptr make (Args ... args)
144 return Ptr (
new T1 (std::forward <Args> (args)...), Make ());
148 Ptr (
const Ptr <T1>& src) noexcept :
155 Ptr (
const Ptr& src) noexcept :
163 Ptr (Ptr <T1>&& src) noexcept :
169 Ptr (
Ptr&& src) noexcept :
176 Ptr (T1* p) noexcept :
183 Ptr (T* p) noexcept :
197 Ptr& operator = (
const Ptr <T1>& src)
noexcept
208 Ptr& operator = (
const Ptr <T>& src)
noexcept
220 Ptr& operator = (Ptr <T1>&& src)
noexcept
231 Ptr& operator = (Ptr <T>&& src)
noexcept
243 Ptr& operator = (T1* p)
noexcept
253 Ptr& operator = (T* p)
noexcept
263 Ptr& operator = (std::nullptr_t)
noexcept
272 T* operator -> ()
const noexcept
278 operator T* ()
const noexcept
283 T& operator * ()
const noexcept
292 Ptr (T* p,
const Make&) :