Title
Missing arithmetic operators for atomic_address
Status
resolved
Section
[atomics.types.address]
Submitter
INCITS

Created on 2010-08-25.00:00:00 last changed 171 months ago

Messages

Date: 2010-11-13.02:14:14

Proposed resolution:

Change [atomics.types.address], class atomic_address synopsis, as indicated:

namespace std {
  typedef struct atomic_address {
    […]
    void* operator=(const void*) volatile;
    void* operator=(const void*);
    void* operator++(int) volatile;
    void* operator++(int);
    void* operator--(int) volatile;
    void* operator--(int);
    void* operator++() volatile;
    void* operator++();
    void* operator--() volatile;
    void* operator--();
    void* operator+=(ptrdiff_t) volatile;
    void* operator+=(ptrdiff_t);
    void* operator-=(ptrdiff_t) volatile;
    void* operator-=(ptrdiff_t);
  } atomic_address;
  […]
}
Date: 2010-11-13.02:14:14

[ Resolved in Batavia by accepting n3193. ]

Date: 2010-10-27.00:00:00

[ 2010-10-27 Daniel adds: ]

Accepting n3164 would solve this issue by replacing atomic_address by atomic<void*>.

Date: 2010-10-24.03:04:13

Addresses US-161

atomic_address has operator+= and operator-=, but no operator++ or operator--. The template specialization atomic<Ty*> has all of them.

History
Date User Action Args
2010-11-18 12:46:23adminsetstatus: nad editorial -> resolved
2010-11-13 02:14:14adminsetmessages: + msg5347
2010-11-13 02:14:14adminsetstatus: open -> nad editorial
2010-10-27 20:02:48adminsetmessages: + msg5165
2010-10-27 20:02:48adminsetmessages: + msg5164
2010-10-24 03:04:13adminsetmessages: + msg4953
2010-08-25 00:00:00admincreate