I'm trying to recreate unique_ptr and I am reading on cppref that I need to make like signatures like these. > a) If D is non-reference type A, then the signatures are: > unique_ptr(pointer p, const A& d) noexcept; > (1) (requires that Deleter is nothrow-CopyConstructible) > unique_ptr(pointer p, A&& d) noexcept; > (2) (requires that Deleter is nothrow-MoveConstructible) > b) If D is an lvalue-reference type A&, then the signatures are: > unique_ptr(pointer p, A& d) noexcept; > (1) > unique_ptr(pointer p, A&& d) = delete; > (2) > c) If D is an lvalue-reference type const A&, then the signatures are: > unique_ptr(pointer p, const A& d) noexcept; > (1) > unique_ptr(pointer p, const A&& d) = delete; > (2) Now judging by this, don't I need to use `std::enable_if_t`, shouldn't they be nested also OR should I use lambas?
> don't I need to use std::enable_if_t not necessarily thats older style c++ constraints, nowerdays you can use `requires` and concepts. > OR should I use lambas? what do lambdas have to do with this