Date: Sun, 2 Jun 2019 10:51:27 +0300

C++ supports, through <cstdint>, exact-width integer types: int8_t,

int16_t, uint8_t, uint16_t, and so on for larger sizes.

In many cases you want to use template parameter(s) to choose from among

these types, i.e. have an int_t<8>, int_t<16>, uint_t<8> and so on.

Boost basically has this, with even more functionality:

https://www.boost.org/doc/libs/1_70_0/libs/integer/doc/html/boost_integer/integer.html

Has there been a proposal to add at least an `std::int_t<N>` and

`std::uint_t<N>` type templates to the standard library? Or perhaps a

`std::signed_integer_t<N>`, `std::unsigned_integer_t<N>`, and a

`std::integer<Signedness, N>` ?

If so, can someone link to it, to the discussion of it, and explain

briefly why it was rejected? And if not - what do you think about this

possibility?

Eyal

PS - I realize one can propose a bunch of additional related

functionality, e.g. from boost::integer; but this seems to be the most

intuitive / closely-complementary to existing C-library functionality.

int16_t, uint8_t, uint16_t, and so on for larger sizes.

In many cases you want to use template parameter(s) to choose from among

these types, i.e. have an int_t<8>, int_t<16>, uint_t<8> and so on.

Boost basically has this, with even more functionality:

https://www.boost.org/doc/libs/1_70_0/libs/integer/doc/html/boost_integer/integer.html

Has there been a proposal to add at least an `std::int_t<N>` and

`std::uint_t<N>` type templates to the standard library? Or perhaps a

`std::signed_integer_t<N>`, `std::unsigned_integer_t<N>`, and a

`std::integer<Signedness, N>` ?

If so, can someone link to it, to the discussion of it, and explain

briefly why it was rejected? And if not - what do you think about this

possibility?

Eyal

PS - I realize one can propose a bunch of additional related

functionality, e.g. from boost::integer; but this seems to be the most

intuitive / closely-complementary to existing C-library functionality.

Received on 2019-06-02 02:53:16