| 62 | using CopyFunc = std::function<Base *(const Base *)>; |
| 63 | |
| 64 | deep_unique_ptr(std::nullptr_t val = nullptr) noexcept : _val{val}, _copy{} |
| 65 | { |
| 66 | } |
| 67 | template <typename Derived, typename CopyFuncDerived> |
| 68 | deep_unique_ptr(Derived *value, const CopyFuncDerived ©) noexcept : _val{value}, _copy{std::move(copy)} |
| 69 | { |