constexpr void swap(shared_ptr& r) noexcept;
constexpr void reset() noexcept;
template<class Y> constexpr void reset(Y* p);
template<class Y, class D> constexpr void reset(Y* p, D d);
template<class Y, class D, class A> constexpr void reset(Y* p, D d, A a);