How about encoding the length-info explicitly, in a static constexpr variable?
struct mybits { static constexpr size_t num_bits = 15; unsigned int one:num_bits; };