Created on 2016-11-09.00:00:00 last changed 78 months ago
[ 2018-06 ]
Resolved by the adoption of P0879R0
[ 2017-11 Albuquerque Thursday ]
It looks like 1581 is going to be resolved this week, so we should revisit soon.
[ 2017-11 Albuquerque Wednesday issue processing ]
Status to Open; we don't want to do this yet; gated on Core issue 1581. See also 2897.
[ Issues Telecon 16-Dec-2016 ]
Priority 3
Addresses US 108
swap is a critical function in the standard library, and should be declared constexpr to support more widespread support for constexpr in libraries. This was proposed in P0202R1 which was reviewed favourably at Oulu, but the widespread changes to the <algorithm> header were too risky and unproven for C++17. We should not lose constexpr support for the much simpler (and more important) <utility> functions because they were attached to a larger paper. Similarly, the fundamental value wrappers, pair and tuple, should have constexpr swap functions, and the same should be considered for optional and variant. It is not possible to mark swap for std::array as constexpr without adopting the rest of the P0202R1 though, or rewriting the specification for array swap to not use swap_ranges.Suggested resolution:
Adopt the changes to the <utility> header proposed in P0202R1, i.e., only bullets C, D, and E. In addition, mark the swap functions of pair and tuple as constexpr, and consider doing the same for optional and variant.History | |||
---|---|---|---|
Date | User | Action | Args |
2018-06-12 01:09:52 | admin | set | messages: + msg9895 |
2018-06-12 01:09:52 | admin | set | status: open -> resolved |
2017-11-10 03:05:33 | admin | set | messages: + msg9533 |
2017-11-10 03:05:33 | admin | set | messages: + msg9532 |
2017-11-10 03:05:33 | admin | set | status: new -> open |
2016-12-16 20:56:38 | admin | set | messages: + msg8730 |
2016-11-09 00:00:00 | admin | create |