Skip to content

Commit aa19acc

Browse files
committed
Forward changes for Motion 3
1 parent ce93b05 commit aa19acc

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

source/templates.tex

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@
116116
In a function template declaration, the \grammarterm{unqualified-id} of the
117117
\grammarterm{declarator-id} shall be a name.
118118
\begin{note}
119-
In a class template declaration, if the \grammarterm{class-name}
119+
In a class or variable template declaration, if the
120+
declared name
120121
is a
121122
\grammarterm{simple-template-id},
122123
the declaration declares a partial specialization\iref{temp.spec.partial}.
@@ -135,8 +136,8 @@
135136
\indextext{template name!linkage of}%
136137
A specialization (explicit or implicit) of one template is
137138
distinct from all specializations of any other template.
138-
A template, a template explicit specialization\iref{temp.expl.spec}, and a class
139-
template partial specialization shall not have C language linkage.
139+
A template, an explicit specialization\iref{temp.expl.spec}, and a
140+
partial specialization shall not have C language linkage.
140141
\begin{note}
141142
Default arguments for function templates and for member functions of
142143
class templates are considered definitions for the purpose of template
@@ -3129,23 +3130,21 @@
31293130

31303131
\pnum
31313132
\indextext{specialization!class template partial}%
3132-
A partial specialization of a class template provides an alternative definition
3133+
A partial specialization of a template provides an alternative definition
31333134
of the template that is used instead of the primary definition when the
31343135
arguments in a specialization match those given in the partial
31353136
specialization\iref{temp.spec.partial.match}.
31363137
A declaration of the primary template shall precede any specialization of
31373138
that template.
3138-
A partial specialization shall be reachable from any use of a class template
3139+
A partial specialization shall be reachable from any use of a template
31393140
specialization that would make use of the partial specialization as the result of
31403141
an implicit or explicit instantiation; no diagnostic is required.
31413142

31423143
\pnum
31433144
Two partial specialization declarations declare the same entity
31443145
if they are partial specializations of the same template and have equivalent
31453146
\grammarterm{template-head}s and template argument lists\iref{temp.over.link}.
3146-
Each class template partial specialization is a distinct template and
3147-
definitions shall be provided for the members of a template partial
3148-
specialization\iref{temp.class.spec.mfunc}.
3147+
Each partial specialization is a distinct template.
31493148

31503149
\pnum
31513150
\begin{example}
@@ -3181,7 +3180,7 @@
31813180
\end{example}
31823181

31833182
\pnum
3184-
The template parameters are specified in the angle bracket enclosed list
3183+
The template parameters of a template are specified in the angle bracket enclosed list
31853184
that immediately follows the keyword \keyword{template}.
31863185
The template argument list of a partial specialization is
31873186
the \grammarterm{template-argument-list} of the \grammarterm{class-name}.
@@ -3452,7 +3451,6 @@
34523451
\rSec3[temp.spec.partial.member]{Members of class template partial specializations}
34533452

34543453
\pnum
3455-
A class template partial specialization is a distinct template.
34563454
The members of the class template partial specialization are
34573455
unrelated to the members of the primary template.
34583456
Class template partial specialization members that are used in a way that
@@ -4789,8 +4787,8 @@
47894787
the name of the nested class referenced as a member of the
47904788
current instantiation, or
47914789
\item
4792-
in the definition of a partial specialization
4793-
or a member of a partial specialization, the name of
4790+
in the definition of a class template partial specialization
4791+
or a member of a class template partial specialization, the name of
47944792
the class template followed by a template argument list
47954793
equivalent to that of the partial specialization\iref{temp.spec.partial}
47964794
enclosed in \tcode{<>} (or an equivalent template alias specialization).

0 commit comments

Comments
 (0)