This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TS status.
observer_ptr
do not match synopsisSection: 8.12.6 [fund.ts.v2::memory.observer.ptr.special] Status: TS Submitter: Tim Song Opened: 2015-07-07 Last modified: 2017-07-30
Priority: 0
View all issues with TS status.
Discussion:
Addresses: fund.ts.v2
In N4529
[memory.observer.ptr.special] paragraphs 15, 17 and 19, the >
, <=
and
>=
operators of observer_ptr
are shown as
template <class W> bool operator>(observer_ptr<W> p1, observer_ptr<W> p2);
whereas in [header.memory.synop] they are shown as
template <class W1, class W2> bool operator>(observer_ptr<W1> p1, observer_ptr<W2> p2);
Given that the specification of operator<
took special care to support hetergeneous types,
presumably the second version is intended.
[2015-07, Telecon]
Move to Tentatively Ready.
Proposed resolution:
This wording is relative to N4529.
Edit 8.12.6 [fund.ts.v2::memory.observer.ptr.special] as indicated:
-15- template <class W1, class W2> bool operator>(observer_ptr<W1> p1, observer_ptr<W2> p2);[…]
-17- template <class W1, class W2> bool operator<=(observer_ptr<W1> p1, observer_ptr<W2> p2);[…]
-19- template <class W1, class W2> bool operator>=(observer_ptr<W1> p1, observer_ptr<W2> p2);