Lines Matching full:parameter
42 /// \brief RAII class that manages the template parameter depth.
67 /// Template declarations include one or more template parameter lists
76 /// 'export'[opt] 'template' '<' template-parameter-list '>' declaration
88 // Enter template-parameter scope.
97 // parameter scope, e.g.,
104 // single data structure containing all of the template parameter
113 // both template parameter lists. In the second case, the action for
114 // defining A<T>::B receives just the inner template parameter list
115 // (and retrieves the outer template parameter list from its
137 // Parse the '<' template-parameter-list '>'
281 /// ParseTemplateParameters - Parses a template-parameter-list enclosed in
282 /// angle brackets. Depth is the depth of this template-parameter-list, which
285 /// The template parameter we parse will be added to this list. LAngleLoc and
287 /// that enclose this template parameter list.
294 // Get the template parameter list.
301 // Try to parse the template parameter list.
307 // No diagnostic required here: a template-parameter-list can only be
308 // followed by a declaration or, for a template template parameter, the
324 /// ParseTemplateParameterList - Parse a template parameter list. If
329 /// template-parameter-list: [C++ temp]
330 /// template-parameter
331 /// template-parameter-list ',' template-parameter
340 // If we failed to parse a template parameter, skip until we find
345 // Did we find a comma or the end of the template parameter list?
364 /// type parameter.
368 // type-parameter. Per C++ [temp.param]p3, we prefer the type-parameter.
378 // This may be either a type-parameter or an elaborated-type-specifier.
403 // template-parameter. typename followed by an unqualified-id
404 // names a template type parameter. typename followed by a
406 // parameter-declaration.
426 /// ParseTemplateParameter - Parse a template-parameter (C++ [temp.param]).
428 /// template-parameter: [C++ temp.param]
429 /// type-parameter
430 /// parameter-declaration
432 /// type-parameter: (see below)
437 /// 'template' '<' template-parameter-list '>'
439 /// 'template' '<' template-parameter-list '>' 'class' identifier[opt]
448 parameter declaration.
449 // NOTE: This will pick up errors in the closure of the template parameter
454 /// ParseTypeParameter - Parse a template type parameter (C++ [temp.param]).
458 /// type-parameter: [C++ temp.param]
465 "A type-parameter starts with 'class' or 'typename'");
484 // Grab the template parameter name (if given)
492 // Unnamed template parameter. Don't have to do anything here, just
501 // we introduce the type parameter into the local scope.
518 /// type-parameter: [C++ temp.param]
519 /// 'template' '<' template-parameter-list '>' 'class'
521 /// 'template' '<' template-parameter-list '>' 'class' identifier[opt]
579 // Unnamed template parameter. Don't have to do anything here, just
595 // we introduce the template parameter into the local scope.
617 /// template-parameter:
619 /// parameter-declaration
638 // we introduce the template parameter into the local scope.
646 // template-parameter, the first non-nested > is taken as the
647 // end of the template-parameter-list rather than a greater-than
657 // Create the parameter.
780 /// list ('<' template-parameter-list [opt] '>') and placing the
854 /// template parameter, or other template that produces a type will be
1004 // A template-argument for a template template-parameter shall be the name
1092 // the corresponding template-parameter.