Reading https://en.cppreference.com/w/cpp/language/bit_field, are the following conclusions correct?
- whether adjacent bit-fields have no padding in between is implementation-defined (this reads different in https://eel.is/c++draft/class.bit#:bit-field)
- the placement of a bit-field within the class-object is implementation-defined
- the position of the bits inside a bit-field is implementation-defined (although C++20 defines signed-integer to be 2ths complement).
(for C see: Characteristics of bit-Fields in C)
Addressing points one-by-one
In short, the conclusion is that no guarantees exist that bit-field implementation between various new specifications of C++ will be consistent. Portability is therefore difficult, if not impossible from one C++ implementation to the other, forcing that the specifications and other documentation supporting the C++ compiler being used must be consulted for any application using it to be sure of its implementation (rules) regarding how padding, or other attributes of bit-fields are implemented.