Created on 2025-09-05.00:00:00 last changed 1 week ago
Proposed resolution:
This wording is relative to N5014.
Modify [span.syn] as indicated:
template<class T> concept integral-constant-like = // exposition only is_integral_v<remove_cvref_t<decltype(T::value)>> && !is_same_v<bool, remove_cvrefconst_t<decltype(T::value)>> && convertible_to<T, decltype(T::value)> && equality_comparable_with<T, decltype(T::value)> && bool_constant<T() == T::value>::value && bool_constant<static_cast<decltype(T::value)>(T()) == T::value>::value;
P2781R9 tweaked the definition of
integral-constant-like
to work with `constant_wrapper`,
like so:
template<class T> concept integral-constant-like = // exposition only is_integral_v<remove_cvref_t<decltype(T::value)>> && !is_same_v<bool, remove_const_t<decltype(T::value)>> && convertible_to<T, decltype(T::value)> && equality_comparable_with<T, decltype(T::value)> && bool_constant<T() == T::value>::value && bool_constant<static_cast<decltype(T::value)>(T()) == T::value>::value;
This was done so that cw<5>
models the concept,
but it needs an additional tweak so that
cw<true>
does not model it.
History | |||
---|---|---|---|
Date | User | Action | Args |
2025-09-05 17:57:33 | admin | set | messages: + msg15016 |
2025-09-05 00:00:00 | admin | create |