Constructs a new std::experimental::shared_ptr instance that owns
the supplied value and deleter and assigns it to *this. Decreases the use_count() for the old value if any.
template<typename Target,typename Deleter> void reset(Target* p,Deleter d);
Target*
is implicitly convertible to T*. d(p) is well-formed. Deleter is CopyConstructible
template<typename Target,typename Deleter> void reset(Target* p,Deleter d){ shared_ptr temp(p,d); this->swap(temp); }
#include <experimental/atomic>