Update smart_ptr.h