|
116 | 116 | In a function template declaration, the \grammarterm{unqualified-id} of the
|
117 | 117 | \grammarterm{declarator-id} shall be a name.
|
118 | 118 | \begin{note}
|
119 |
| -[NEEDS REVIEW] In a class or variable template declaration, if the |
120 |
| -declared name |
121 |
| -is a |
122 |
| -\grammarterm{simple-template-id}, |
123 |
| -the declaration declares a partial specialization\iref{temp.spec.partial}. |
| 119 | +A class or variable template declaration of a \grammarterm{simple-template-id} |
| 120 | +declares a partial specialization\iref{temp.spec.partial}. |
124 | 121 | \end{note}
|
125 | 122 |
|
126 | 123 | \pnum
|
|
2153 | 2150 |
|
2154 | 2151 | \rSec2[temp.decls.general]{General}
|
2155 | 2152 |
|
| 2153 | +\pnum |
| 2154 | +The template parameters of a template are specified in |
| 2155 | +the angle bracket enclosed list |
| 2156 | +that immediately follows the keyword \keyword{template}. |
| 2157 | + |
2156 | 2158 | \pnum
|
2157 | 2159 | A \defnadj{primary}{template} declaration is one
|
2158 | 2160 | in which the name of the template is not followed by
|
|
2161 | 2163 | the template argument list of its \grammarterm{template-head}\iref{temp.arg}.
|
2162 | 2164 | A template declaration in which the name of the template is followed by
|
2163 | 2165 | a \grammarterm{template-argument-list} is
|
2164 |
| -a partial specialization of |
2165 |
| -the template named in the declaration\iref{temp.spec.partial}. |
| 2166 | +a partial specialization\iref{temp.spec.partial} of |
| 2167 | +the template named in the declaration, |
| 2168 | +which shall be a class or variable template. |
2166 | 2169 |
|
2167 | 2170 | \pnum
|
2168 | 2171 | For purposes of name lookup and instantiation,
|
|
3134 | 3137 | of the template that is used instead of the primary definition when the
|
3135 | 3138 | arguments in a specialization match those given in the partial
|
3136 | 3139 | specialization\iref{temp.spec.partial.match}.
|
3137 |
| -A declaration of the primary template shall precede any specialization of |
| 3140 | +A declaration of the primary template shall precede |
| 3141 | +any partial specialization of |
3138 | 3142 | that template.
|
3139 | 3143 | A partial specialization shall be reachable from any use of a template
|
3140 | 3144 | specialization that would make use of the partial specialization as the result of
|
|
3180 | 3184 | \end{example}
|
3181 | 3185 |
|
3182 | 3186 | \pnum
|
3183 |
| -The template parameters of a template are specified in the angle bracket enclosed list |
3184 |
| -that immediately follows the keyword \keyword{template}. |
3185 | 3187 | The template argument list of a partial specialization is
|
3186 |
| -the \grammarterm{template-argument-list} of the \grammarterm{class-name}. |
| 3188 | +the \grammarterm{template-argument-list} following the name of the template. |
3187 | 3189 |
|
3188 | 3190 | \pnum
|
3189 | 3191 | A partial specialization may be declared in any
|
|
0 commit comments