411 REFERENCE · Wikibooks
C++ Language/Indirection/SmartPointers/CustomDestruction
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
Normally you rely on a smart pointer to decide both "when" and "how" to deallocate.
But it is possible for you to provide a custom callable-object for the "how" part.
Additional information about smart pointers using custom destruction (includes interactive examples)