Skip to content

Commit e8fcc1f

Browse files
committed
Possible fixup: Rename labels for partial specialization subclauses.
1 parent dd141ac commit e8fcc1f

File tree

4 files changed

+26
-19
lines changed

4 files changed

+26
-19
lines changed

source/classes.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
A class declaration where the \grammarterm{class-name}
6161
in the \grammarterm{class-head-name} is a \grammarterm{simple-template-id}
6262
shall be an explicit specialization\iref{temp.expl.spec} or
63-
a partial specialization\iref{temp.class.spec}.
63+
a partial specialization\iref{temp.spec.partial}.
6464
A \grammarterm{class-specifier} whose
6565
\grammarterm{class-head} omits the
6666
\grammarterm{class-head-name} defines an unnamed class.

source/declarations.tex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7188,7 +7188,7 @@
71887188
namespace is implicitly inserted into the enclosing namespace as for an unnamed
71897189
namespace\iref{namespace.unnamed}. Furthermore, each
71907190
member of the inline namespace can subsequently be partially
7191-
specialized\iref{temp.class.spec}, explicitly
7191+
specialized\iref{temp.spec.partial}, explicitly
71927192
instantiated\iref{temp.explicit}, or explicitly specialized\iref{temp.expl.spec} as
71937193
though it were a member of the enclosing namespace. Finally, looking up a name in the
71947194
enclosing namespace via explicit qualification\iref{namespace.qual} will include
@@ -7889,7 +7889,7 @@
78897889
considered when a use of the name is made. Thus, additional
78907890
overloads added after the \grammarterm{using-declaration} are ignored, but
78917891
default function arguments\iref{dcl.fct.default}, default template
7892-
arguments\iref{temp.param}, and template specializations~(\ref{temp.class.spec},
7892+
arguments\iref{temp.param}, and template specializations~(\ref{temp.spec.partial},
78937893
\ref{temp.expl.spec}) are considered.
78947894
\end{note}
78957895
\begin{example}
@@ -7921,7 +7921,7 @@
79217921
of that template. If a \grammarterm{using-declaration} names a
79227922
template, partial specializations introduced after the
79237923
\grammarterm{using-declaration} are effectively visible because the primary
7924-
template is visible\iref{temp.class.spec}.
7924+
template is visible\iref{temp.spec.partial}.
79257925
\end{note}
79267926

79277927
\pnum

source/templates.tex

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
declared name
124124
is a
125125
\grammarterm{simple-template-id},
126-
the declaration declares a partial specialization\iref{temp.class.spec}.
126+
the declaration declares a partial specialization\iref{temp.spec.partial}.
127127
\end{note}
128128

129129
\pnum
@@ -157,7 +157,7 @@
157157
\pnum
158158
A class template shall not have the same name as any other
159159
template, class, function, variable, enumeration, enumerator, namespace, or
160-
type in the same scope\iref{basic.scope}, except as specified in~\ref{temp.class.spec}.
160+
type in the same scope\iref{basic.scope}, except as specified in~\ref{temp.spec.partial}.
161161
Except that a function template can be overloaded either by non-template
162162
functions\iref{dcl.fct} with the same name or by other function templates
163163
with the same name\iref{temp.over},
@@ -1321,7 +1321,7 @@
13211321
parameter.
13221322

13231323
\pnum
1324-
Any partial specializations\iref{temp.class.spec} associated with the
1324+
Any partial specializations\iref{temp.spec.partial} associated with the
13251325
primary template are considered when a
13261326
specialization based on the template
13271327
\grammarterm{template-parameter}
@@ -1991,7 +1991,7 @@
19911991
\item the best viable candidate of non-template functions\iref{over.match.best},
19921992
\item the address of a non-template function\iref{over.over},
19931993
\item the matching of template template arguments\iref{temp.arg.template},
1994-
\item the partial ordering of class template specializations\iref{temp.class.order}, and
1994+
\item the partial ordering of class template specializations\iref{temp.spec.partial.order}, and
19951995
\item the partial ordering of function templates\iref{temp.func.order}.
19961996
\end{itemize}
19971997
\end{note}
@@ -2165,7 +2165,7 @@
21652165
\begin{note}
21662166
A \grammarterm{template-id}
21672167
cannot be the declared name of a primary template declaration.
2168-
However, this syntax is allowed in partial specializations\iref{temp.class.spec}.
2168+
However, this syntax is allowed in partial specializations\iref{temp.spec.partial}.
21692169
\end{note}
21702170

21712171
\pnum
@@ -3068,7 +3068,7 @@
30683068
\pnum
30693069
A template friend declaration specifies that all specializations of that
30703070
template, whether they are implicitly instantiated\iref{temp.inst}, partially
3071-
specialized\iref{temp.class.spec} or explicitly specialized\iref{temp.expl.spec},
3071+
specialized\iref{temp.spec.partial} or explicitly specialized\iref{temp.expl.spec},
30723072
are friends of the class containing the template friend declaration.
30733073
\begin{example}
30743074
\begin{codeblock}
@@ -3172,9 +3172,9 @@
31723172
Such a constrained friend function or function template declaration
31733173
does not declare the same function or function template as a declaration in any other scope.
31743174

3175-
\rSec2[temp.class.spec]{Partial specialization}
3175+
\rSec2[temp.spec.partial]{Partial specialization}
31763176

3177-
\rSec3[temp.class.spec.general]{General}
3177+
\rSec3[temp.spec.partial.general]{General}
31783178

31793179
\pnum
31803180
\indextext{specialization!class template partial}%
@@ -3190,7 +3190,7 @@
31903190
A partial specialization of a template provides an alternative definition
31913191
of the template that is used instead of the primary definition when the
31923192
arguments in a specialization match those given in the partial
3193-
specialization\iref{temp.class.spec.match}.
3193+
specialization\iref{temp.spec.partial.match}.
31943194
The primary template shall be declared before any partial specializations of
31953195
that template.
31963196
A partial specialization shall be declared before the first use of a template
@@ -3333,7 +3333,7 @@
33333333
\end{example}
33343334
\item
33353335
The partial specialization shall be more specialized than the primary
3336-
template\iref{temp.class.order}.
3336+
template\iref{temp.spec.partial.order}.
33373337

33383338
\item
33393339
The template parameter list of a partial specialization shall not contain default
@@ -3358,7 +3358,7 @@
33583358
but will be checked when substituting into the partial specialization.
33593359
\end{note}
33603360

3361-
\rSec3[temp.class.spec.match]{Matching of partial specializations}
3361+
\rSec3[temp.spec.partial.match]{Matching of partial specializations}
33623362

33633363
\pnum
33643364
When a template is used in a context that requires an instantiation of
@@ -3375,7 +3375,7 @@
33753375
generated from that partial specialization.
33763376
\item
33773377
If more than one matching partial specialization is found,
3378-
the partial order rules\iref{temp.class.order} are used to determine
3378+
the partial order rules\iref{temp.spec.partial.order} are used to determine
33793379
whether one of the partial specializations is more specialized than the
33803380
others.
33813381
If such a partial specialization exists,
@@ -3446,7 +3446,7 @@
34463446
The template arguments of a partial specialization are deduced from the arguments
34473447
of the primary template.
34483448

3449-
\rSec3[temp.class.order]{Partial ordering of partial specializations}
3449+
\rSec3[temp.spec.partial.order]{Partial ordering of partial specializations}
34503450

34513451
\pnum
34523452
\indextext{more specialized!class template}%
@@ -3522,7 +3522,7 @@
35223522
because \tcode{B} is more specialized than \tcode{A}.
35233523
\end{example}
35243524

3525-
\rSec3[temp.class.spec.mfunc]{Members of class template partial specializations}
3525+
\rSec3[temp.spec.partial.member]{Members of class template partial specializations}
35263526

35273527
\pnum
35283528
The template parameter list of a member of a class template partial
@@ -4270,7 +4270,7 @@
42704270
A concept cannot be
42714271
explicitly instantiated\iref{temp.explicit},
42724272
explicitly specialized\iref{temp.expl.spec},
4273-
or partially specialized\iref{temp.class.spec}.
4273+
or partially specialized\iref{temp.spec.partial}.
42744274
\end{note}
42754275

42764276
\pnum

source/xrefdelta.tex

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,12 @@
2525

2626
\movedxref{re.def}{intro.refs}
2727

28+
% P2096R2 Generalized wording for partial specializations
29+
\movedxref{temp.class.spec}{temp.spec.partial}
30+
\movedxref{temp.class.spec.general}{temp.spec.partial.general}
31+
\movedxref{temp.class.spec.match}{temp.spec.partial.match}
32+
\movedxref{temp.class.order}{temp.spec.partial.order}
33+
\movedxref{temp.class.spec.mfunc}{temp.spec.partial.member}
34+
2835
% Deprecated features.
2936
%\deprxref{old.label} (if moved to depr.old.label, otherwise use \movedxref)

0 commit comments

Comments
 (0)