File tree Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Original file line number Diff line number Diff line change 166
166
\item has all non-static data members and bit-fields in the class and
167
167
its base classes first declared in the same class, and
168
168
169
- \item has no element of the set $ M(\mathtt {S})$ of types (defined below)
170
- as a base class.\footnote {This ensures that two subobjects that have the
171
- same class type and that
169
+ \item has no element of the set $ M(\mathtt {S})$ of types
170
+ as a base class,
171
+ where for any type \tcode {X}, $ M(\mathtt {X})$ is defined as follows.\footnote {
172
+ This ensures that two subobjects that have the same class type and that
172
173
belong to the same most derived object are not allocated at the same
173
174
address\iref {expr.eq }.}
174
- \end {itemize }
175
+ \begin {note } $ M(\mathtt {X})$ is the set of the types of all non-base-class subobjects
176
+ that may be at a zero offset in \tcode {X}. \end {note }
175
177
176
- $ M(\mathtt {X})$ is defined as follows:
177
178
\begin {itemize }
178
179
\item If \tcode {X} is a non-union class type with no (possibly
179
180
inherited\iref {class.derived }) non-static data members, the set
198
199
199
200
\item If \tcode {X} is a non-class, non-array type, the set $ M(\mathtt {X})$ is empty.
200
201
\end {itemize }
202
+ \end {itemize }
201
203
202
- \begin {note } $ M(\mathtt {X})$ is the set of the types of all non-base-class subobjects
203
- that may be at a zero offset in \tcode {X}. \end {note }
204
-
204
+ \pnum
205
205
\begin {example }
206
206
\begin {codeblock }
207
207
struct B { int i; }; // standard-layout class
You can’t perform that action at this time.
0 commit comments