23 General utilities library [utilities]
weak_ptr& operator=(const weak_ptr& r) noexcept;
template<class Y> weak_ptr& operator=(const weak_ptr<Y>& r) noexcept;
template<class Y> weak_ptr& operator=(const shared_ptr<Y>& r) noexcept;
Effects: Equivalent to
weak_ptr(r).swap(*this). Remarks: The implementation may meet the effects (and the
implied guarantees) via different means, without creating a temporary
. weak_ptr& operator=(weak_ptr&& r) noexcept;
template<class Y> weak_ptr& operator=(weak_ptr<Y>&& r) noexcept;
Effects: Equivalent to
weak_ptr(std::move(r)).swap(*this).