42 template <typename U, typename = std::enable_if_t<std::is_base_of_v<T, U>>>
61 template <typename U, typename = std::enable_if_t<std::is_base_of_v<T, U>>>
98 void reset (T* data =
nullptr) ;
115 const T& operator* () const ;
129 const T* operator-> () const ;
150 operator
bool () const ;
157 bool operator! () const ;
162 operator std::unique_ptr<T> () ;
168 template <typename U, typename = std::enable_if_t<std::is_base_of_v<U, T>>>
169 operator std::unique_ptr<U> () ;
187 template <typename U, typename = std::enable_if_t<std::is_base_of_v<T, U>>>
198 template <typename T, typename... Args>
199 static
UniquePtr<T> makeUnique (Args&&... args) ;