Title
[fund.ts.v2] Certain comparison operators of observer_ptr do not match synopsis
Status
open
Section
[memory.observer.ptr.special]
Submitter
Tim Song

Created on 2015-07-07.00:00:00 last changed 82 months ago

Messages

Date: 2015-08-03.14:55:12

Proposed resolution:

This wording is relative to N4529.

  1. Edit [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);
    
Date: 2017-02-02.00:41:18

[ 2015-07, Telecon ]

Move to Tentatively Ready.

Date: 2015-07-07.00:00:00

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.

History
Date User Action Args
2017-07-30 20:10:41adminsetstatus: wp -> open
2015-11-16 02:13:05adminsetstatus: ready -> wp
2015-08-03 14:55:12adminsetmessages: + msg7485
2015-08-03 14:55:12adminsetstatus: new -> ready
2015-07-11 13:39:26adminsetmessages: + msg7477
2015-07-07 00:00:00admincreate