template<class U> constexpr explicit unique_ptr(U p) noexcept;
template<class U> constexpr unique_ptr(U p, see below d) noexcept;
template<class U> constexpr unique_ptr(U p, see below d) noexcept;
template<class U, class E> constexpr unique_ptr(unique_ptr<U, E>&& u) noexcept;
template<class U, class E> constexpr unique_ptr& operator=(unique_ptr<U, E>&& u) noexcept;
constexpr T& operator[](size_t i) const;
constexpr void reset(nullptr_t p = nullptr) noexcept;
template<class U> constexpr void reset(U p) noexcept;