Why are signed/unsigned 8-bit integer types not supported by C++ random number generation?

Viewed 178

From C++11 §26.5.1.1 on the requirements for random number generation:

Throughout this subclause 26.5, the effect of instantiating a template: [...] that has a template type parameter named IntType is undefined unless the corresponding template argument is cv-unqualified and is one of short, int, long, long long, unsigned short, unsigned int, unsigned long, or unsigned long long.

What is the reason that 8-bit signed/unsigned types are excluded from random number generation like this in the requirements?

1 Answers

This question was raised as LWG Issue 2326, which was closed as "Not a Defect".

Not because people were not in favor, but because it was a new feature, instead of a bug. The committee felt that this would be better served by writing a paper discussing the advantages and disadvantages of making this change.

At present, no one has written such a paper.

As @NathanOliver notes, this question has been asked before and the links there suggest that this is somewhat controversial.

Related