template <typename WrappedType, void (*DeleterFunc)(WrappedType *)>
std::unique_ptr<WrappedType,
typename memory::create_deleter_class<WrappedType, DeleterFunc>::deleter>
template <typename WrappedType, void (*DeleterFunc)(WrappedType *)>
std::unique_ptr<WrappedType,
typename memory::create_deleter_class<WrappedType, DeleterFunc>::deleter>