Created on 2025-05-21.00:00:00 last changed 1 week ago
Proposed resolution:
This wording is relative to N5008.
Modify [numeric.ops.midpoint] as indicated:
template<class T> constexpr T midpoint(T a, T b) noexcept;-1- Constraints: `T` is an arithmetic type other than cv `bool`.
The constraints of the first overload of `std::midpoint` are as follows:
template<class T> constexpr T midpoint(T a, T b) noexcept;-1- Constraints: `T` is an arithmetic type other than `bool`.
It does not appear intentional that `const bool` is supported considering that [numeric.ops.gcd] excludes cv `bool`.
More generally, it is questionable that cv-qualified arithmetic types aren't excluded in general, considering that [numeric.sat] excludes them with the "signed or unsigned integer type" constraint. However, tightening the constraints for these other functions seems evolutionary, not like fixing an obvious oversight, and so it likely requires a separate issue.History | |||
---|---|---|---|
Date | User | Action | Args |
2025-05-24 09:46:59 | admin | set | messages: + msg14766 |
2025-05-21 00:00:00 | admin | create |