This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.
Section: 20.3.2.3 [util.smartptr.weak] Status: C++11 Submitter: Daniel Krügler Opened: 2009-11-04 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [util.smartptr.weak].
View all issues with C++11 status.
Discussion:
Additional to the necessary cleanup of the description of the the weak_ptr component from 20.3.2.3 [util.smartptr.weak] described in 1231 it turns out that the currently deleted comparison functions of weak_ptr are not needed at all: There is no safe-bool conversion from weak_ptr, and it won't silently chose a conversion to shared_ptr.
[ 2009-11-14 Moved to Tentatively Ready after 5 positive votes on c++std-lib. ]
Proposed resolution:
Change 20.3.2.3 [util.smartptr.weak]/1 as indicated:
namespace std { template<class T> class weak_ptr { public: ...// comparisonstemplate<class Y> bool operator<(weak_ptr<Y> const&) const = delete;template<class Y> bool operator<=(weak_ptr<Y> const&) const = delete;template<class Y> bool operator>(weak_ptr<Y> const&) const = delete;template<class Y> bool operator>=(weak_ptr<Y> const&) const = delete;}; ...