
Beman Dawes wrote:
Rene Rivera wrote:
int_be8_t int_le8_t uint_be8_t uint_le8_t
I like it.
int_b1_t int_l1_t uint_b1_t uint_l1_t
I'd vote to keep the 'e'. On many fonts/displays the lowercase 'L' and digit one are nearly indistinguishable. While this probably isn't an overriding concern in the naming of most identifiers, consider how commonly-used the 'l1' or 'l16' versions would be. Also, 'll' is likely to be used as a prefix for "long long".
I tried it both ways over the years. The problem with using bit sizes is that a programmer is often counts these things, and always in terms of bytes. Bytes is just more convenient than bits. <> Also, working in terms of bytes seems to signal to readers that something special is going on - int_b32_t is more likely to be mistakenly viewed as just another typedef for an int32_t than bin4 or bin4_t.
I think the bit-count nomenclature is currently far more widely used, and specifically by boost/cstdint.hpp. Consider the confusion that would occur between with int8_t being a char while int_l8_t is a long long! - Marsh