On Wed, 29 Mar 2023 at 11:10, Jonathan Wakely <cxx@kayari.org> wrote:


On Wed, 29 Mar 2023 at 11:09, Frederick Virchanza Gotham via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
On Wed, Mar 29, 2023 at 11:03 AM Giuseppe D'Angelo via Std-Proposals
<std-proposals@lists.isocpp.org> wrote:
>
> But that doesn't change the reality of things that, as far as the
> Standard is concerned, __int128 isn't an integer type.


I have a fruit bowl in my kitchen, and right now it contains three
oranges, a mandarin and a kiwi.

In the sense that the kiwi in my fruit bowl is a fruit, __uint128_t is
an integer type.

If I fail to correctly identify the kiwi as a fruit, or if I refuse to
place kiwi's in the 'fruit' category, then I'm really going down the
road into cult territory -- redefining words and so forth.

__uint128_t is an integer type irrespective of how any Standard or
compiler categorises or identifies it.

OK.


The std::is_integral trait and the std::integral concept are defined to use the standard's definitions though.

So you can keep saying "it's an integral type" and that's fine, but the standard library types use the standard's definition of that term, not yours.