23 General utilities library [utilities]

23.11 Smart pointers [smartptr]

23.11.2 Shared-ownership pointers [util.smartptr]

23.11.2.2 Class template shared_­ptr [util.smartptr.shared]

23.11.2.2.4 shared_­ptr modifiers [util.smartptr.shared.mod]

void swap(shared_ptr& r) noexcept;

Effects: Меняет содержимое *this и r.

void reset() noexcept;

Effects: Эквивалентно shared_­ptr().swap(*this).

template<class Y> void reset(Y* p);

Effects: Эквивалентно shared_­ptr(p).swap(*this).

template<class Y, class D> void reset(Y* p, D d);

Effects: Эквивалентно shared_­ptr(p, d).swap(*this).

template<class Y, class D, class A> void reset(Y* p, D d, A a);

Effects: Эквивалентно shared_­ptr(p, d, a).swap(*this).