Date: Sun, 18 May 2025 14:21:06 +0200
On 18/05/2025 12.05, Jan Schultke via Std-Proposals wrote:
> Hi,
>
> I'd like to hear your thoughts on https://isocpp.org/files/papers/P3701R0.html
>
> In short, this paper adds a std::integer concept which is much more
> likely to match user intent than std::integral.
Your paper says:
template<class T>
concept integer = integral<T> && cv-unqualified<T>
&& !is-character<T> && !same_as<T, bool>;
and, a few lines below as "unchanged text" (although this doesn't
currently exist in the standard):
template<class T>
concept integer = signed_integral<T> && !signed_integral<T>;
That feels like a violation of the one-definition rule.
It would probably also be nice to clean up the core wording:
"integral" is everything, "integer" just the signed / unsigned
integer types. How much would change to make that happen?
Jens
> Hi,
>
> I'd like to hear your thoughts on https://isocpp.org/files/papers/P3701R0.html
>
> In short, this paper adds a std::integer concept which is much more
> likely to match user intent than std::integral.
Your paper says:
template<class T>
concept integer = integral<T> && cv-unqualified<T>
&& !is-character<T> && !same_as<T, bool>;
and, a few lines below as "unchanged text" (although this doesn't
currently exist in the standard):
template<class T>
concept integer = signed_integral<T> && !signed_integral<T>;
That feels like a violation of the one-definition rule.
It would probably also be nice to clean up the core wording:
"integral" is everything, "integer" just the signed / unsigned
integer types. How much would change to make that happen?
Jens
Received on 2025-05-18 12:21:12