This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Resolved status.

### 1307. `exception_ptr` and `allocator` pointers don't understand !=

Section: 17.10.7 [propagation] Status: Resolved Submitter: Daniel Krügler Opened: 2010-01-26 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [propagation].

View all issues with Resolved status.

Discussion:

The current requirements for a conforming implementation of `std::exception_ptr` (17.10.7 [propagation]/1-6) does not clarify whether the expression

>     e1 != e2
>     e1 != nullptr

with `e1` and `e2` being two values of type `std::exception_ptr` are supported or not. Reason for this oddity is that the concept `EqualityComparable` does not provide operator `!=`.

For the same reason programmers working against the types `X::pointer`, `X::const_pointer`, `X::void_pointer`, and `X::const_void_pointer` of any allocator concept `X` (16.4.4.6 [allocator.requirements]/4 + Table 40) in a generic context can not rely on the availability of the != operation, which is rather unnatural and error-prone.

[ 2010 Pittsburgh: Moved to NAD Editorial. Rationale added below. ]

Rationale:

Solved by N3073.

Proposed resolution: