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,
wg21.link/p0102
to the discussion of it,
and explain
briefly why it was rejected? And if not - what do you think about this
possibility?
I'd like to see the integer family (e.g. `unsigned`, `signed` etc.) as a parameter and for this to be a customisation point.
John