deduction_guides.h — deduction guides with some helper metafunctions.
test.cpp — compile time tests.
- New customization point
template<class> constexpr bool deleter_applicable_to_arrayintroduced. By default it is equal totruefordefault_delete<T[]>and is equal tofalsefor everything else. It is necessary for deducing first template argument ofunique_ptrasT[]. Possible alternative is to require from deleters inner typedefapplicable_to_array(similarly tois_transparentfor comparators). - Deleter type is never deduced as a reference except for function types.
- For the deduced type
UPfollowing invariant holds- type
UP::deleter_type::pointeris ill formed or is_same<UP::element_type, pointer_traits<UP::deleter_type::pointer>::element_type>.
- type