The
common initial sequence of two standard-layout struct (
[class.prop])
types is the longest sequence of non-static data
members and bit-fields in declaration order, starting with the first
such entity in each of the structs, such that corresponding entities
have layout-compatible types (
[basic.types]),
either both entities are declared with
the
no_unique_address attribute (
[dcl.attr.nouniqueaddr])
or neither is,
and either both entities are bit-fields with the same width
or neither is a bit-field
.