|
67 | 67 | itself; this is known as the \defn{injected-class-name}.
|
68 | 68 | For purposes of access checking, the injected-class-name is treated as
|
69 | 69 | if it were a public member name.
|
70 |
| -\indextext{definition!class}% |
71 |
| -A \grammarterm{class-specifier} is commonly referred to as a class |
72 |
| -definition. |
73 |
| -\indextext{definition!class}% |
| 70 | +A \grammarterm{class-specifier} is commonly referred to as a \defnx{class |
| 71 | +definition}{definition!class}. |
74 | 72 | A class is considered defined after the closing brace of its
|
75 | 73 | \grammarterm{class-specifier} has been seen even though its member
|
76 | 74 | functions are in general not yet defined.
|
|
112 | 110 | \indextext{\idxcode{struct}!\tcode{class} versus}%
|
113 | 111 | \indextext{structure}%
|
114 | 112 | \indextext{\idxcode{union}!\tcode{class} versus}%
|
115 |
| -A \term{union} is a class defined with the \grammarterm{class-key} |
| 113 | +A \defn{union} is a class defined with the \grammarterm{class-key} |
116 | 114 | \tcode{union};
|
117 | 115 | \indextext{access control!\idxcode{union} default member}%
|
118 | 116 | it holds at most one data member at a time\iref{class.union}.
|
119 | 117 | \begin{note}
|
120 | 118 | Aggregates of class type are described in~\ref{dcl.init.aggr}.
|
121 | 119 | \end{note}
|
122 | 120 |
|
123 |
| -\indextext{class!trivial}% |
124 |
| -\indextext{trivial class}% |
125 |
| -\indextext{class!trivially copyable}% |
| 121 | +\indextext{trivial class|see{class, trivial}}% |
126 | 122 | \pnum
|
127 |
| -A \defn{trivially copyable class} is a class: |
| 123 | +A \defnx{trivially copyable class}{class!trivially copyable} is a class: |
128 | 124 |
|
129 | 125 | \begin{itemize}
|
130 | 126 | \item where each copy constructor, move constructor, copy assignment operator,
|
|
135 | 131 | \item that has a trivial, non-deleted destructor\iref{class.dtor}.
|
136 | 132 | \end{itemize}
|
137 | 133 |
|
138 |
| -A \term{trivial class} is a class that is trivially copyable and |
| 134 | +A \defnx{trivial class}{class!trivial} is a class that is trivially copyable and |
139 | 135 | has one or more default constructors\iref{class.ctor},
|
140 | 136 | all of which are either trivial or deleted and
|
141 | 137 | at least one of which is not deleted.
|
142 | 138 | \begin{note} In particular, a trivially copyable or trivial class does not have
|
143 | 139 | virtual functions or virtual base classes.\end{note}
|
144 | 140 |
|
145 |
| -\indextext{class!standard-layout}% |
| 141 | +\indextext{standard-layout|see{class, standard-layout}}% |
146 | 142 | \pnum
|
147 |
| -A class \tcode{S} is a \defn{standard-layout class} if it: |
| 143 | +A class \tcode{S} is a \defnx{standard-layout class}{class!standard-layout} if it: |
148 | 144 | \begin{itemize}
|
149 | 145 | \item has no non-static data members of type non-standard-layout class
|
150 | 146 | (or array of such types) or reference,
|
|
210 | 206 | \end{codeblock}
|
211 | 207 | \end{example}
|
212 | 208 |
|
213 |
| -\indextext{struct!standard-layout}% |
214 |
| -\indextext{union!standard-layout}% |
215 | 209 | \pnum
|
216 |
| -A \defn{standard-layout struct} is a standard-layout class |
| 210 | +A \defnx{standard-layout struct}{struct!standard-layout} is a standard-layout class |
217 | 211 | defined with the \grammarterm{class-key} \tcode{struct} or the
|
218 | 212 | \grammarterm{class-key} \tcode{class}.
|
219 |
| -A \defn{standard-layout union} is a standard-layout class |
| 213 | +A \defnx{standard-layout union}{union!standard-layout} is a standard-layout class |
220 | 214 | defined with the
|
221 | 215 | \grammarterm{class-key} \tcode{union}.
|
222 | 216 |
|
|
815 | 809 | \indextext{member function!inline}%
|
816 | 810 | \indextext{definition!member function}%
|
817 | 811 | A member function may be defined\iref{dcl.fct.def} in its class
|
818 |
| -definition, in which case it is an \term{inline} member |
| 812 | +definition, in which case it is an inline member |
819 | 813 | function\iref{dcl.inline}, or it may be defined outside of its class
|
820 | 814 | definition if it has already been declared but not defined in its class
|
821 | 815 | definition. A member function definition that appears outside of the
|
|
1029 | 1023 |
|
1030 | 1024 | \pnum
|
1031 | 1025 | A non-static member function may be declared
|
1032 |
| -\term{virtual}\iref{class.virtual} or \term{pure virtual}\iref{class.abstract}. |
| 1026 | +virtual\iref{class.virtual} or pure virtual\iref{class.abstract}. |
1033 | 1027 |
|
1034 | 1028 | \rSec3[class.this]{The \tcode{this} pointer}%
|
1035 | 1029 | \indextext{\idxcode{this}}
|
|
0 commit comments