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.
optional
declares and then does not define an operator<()
Section: 5.9 [fund.ts::optional.comp_with_t] Status: Resolved Submitter: Howard Hinnant Opened: 2013-08-26 Last modified: 2021-06-06
Priority: Not Prioritized
View all issues with Resolved status.
Discussion:
Addresses: fund.ts
In 22.5.2 [optional.syn] there is:
template <class T> constexpr bool operator<(const T&, const optional<T>&);
But I can find no definition for this signature.
[2013-09 Chicago:]
Move to Deferred. This feature will ship after C++14 and should be revisited then.
[2014-06-06 pre-Rapperswill]
This issue has been reopened as fundamentals-ts.
[2014-06-07 Daniel comments]
This issue should be set to Resolved, because the wording fix is already applied in the last fundamentals working draft.
[2014-06-16 Rapperswill]
Confirmed that this issue is resolved in the current Library Fundamentals working paper.
Proposed resolution:
This wording is relative to N3691.
Add to 5.9 [fund.ts::optional.comp_with_t]:
template <class T> constexpr bool operator<(const T& v, const optional<T>& x);-?- Returns:
bool(x) ? less<T>{}(v, *x) : false
.