949. owner_less

Section: 23.11.5 [util.smartptr.ownerless] Status: C++11 Submitter: Thomas Plum Opened: 2008-12-30 Last modified: 2016-02-10

Priority: Not Prioritized

View all issues with C++11 status.

Discussion:

23.11.5 [util.smartptr.ownerless] (class template owner_less) says that operator()(x,y) shall return x.before(y).

However, shared_ptr and weak_ptr have an owner_before() but not a before(), and there's no base class to provide a missing before().

Being that the class is named owner_less , I'm guessing that "before()" should be "owner_before()", right?

[ Herve adds: ]

Agreed with the typo, it should be "shall return x.owner_before(y)".

[ Post Summit: ]

Recommend Tentatively Ready.

Proposed resolution:

Change 23.11.5 [util.smartptr.ownerless] p2:

-2- operator()(x,y) shall return x.owner_before(y). [Note: ...