I would love it if I could specify the bit position as well as the number of bits in a bit field, something like:
struct S { uint32_t x : 0, 5; // Starts at position 0, size is 5 so goes up to position 4 uint32_t z : 18, 3; // Starts at position 18, size is 3 so goes up to position 20 uint32_t y : 5, 11; // Starts at position 5, size is 11 so goes up to position 15 }Does anyone know if there are any proposals in the works to add something like this?
Of course there are many pitfalls (e.g. error/warn/allow overlapping fields?) but this would be useful to me.
I considered building some template monstrosity to accomplish something similar but each time I just fool around with padding fields.
https://redd.it/1nxnjqr
@r_cpp