Lines Matching defs:Partial
926 // class template partial specialization, or class template specialization.
993 // In a redeclaration, partial specialization, explicit
1732 if (ClassTemplatePartialSpecializationDecl *Partial
1734 ExpectedTemplateParams = Partial->getTemplateParameters();
2369 // Find the variable template (partial
2416 // Create a new class template partial specialization declaration node.
2422 VarTemplatePartialSpecializationDecl *Partial =
2429 VarTemplate->AddPartialSpecialization(Partial, InsertPos);
2430 Specialization = Partial;
2435 Partial->setMemberSpecialization();
2438 // partial specialization are deducible from the template
2439 // arguments. If not, this variable template partial specialization
2442 MarkUsedTemplateParameters(Partial->getTemplateArgs(), true,
2534 /// \brief A partial specialization whose template arguments have matched
2537 VarTemplatePartialSpecializationDecl *Partial;
2567 // the set of specializations, based on the closest partial specialization
2579 // 1. Attempt to find the closest partial specialization that this
2583 // complete by instantiation time. Thus, do not search through the partial
2594 VarTemplatePartialSpecializationDecl *Partial = PartialSpecs[I];
2598 DeduceTemplateArguments(Partial, TemplateArgList, Info)) {
2601 .set(Partial, MakeDeductionFailureInfo(Context, Result, Info));
2605 Matched.back().Partial = Partial;
2623 // partial order rules (14.5.4.2) are used to determine
2632 if (getMoreSpecializedPartialSpecialization(P->Partial, Best->Partial,
2634 P->Partial)
2638 // Determine if the best partial specialization is more specialized than
2644 P->Partial, Best->Partial,
2645 PointOfInstantiation) != Best->Partial) {
2652 // Instantiate using the best variable template partial specialization.
2653 InstantiationPattern = Best->Partial;
2675 // Partial ordering did not produce a clear winner. Complain.
2680 // Print the matching partial specializations.
2684 Diag(P->Partial->getLocation(), diag::note_partial_spec_match)
2686 P->Partial->getTemplateParameters(), *P->Args);
3621 // If we're checking a partial template argument list, we're done.
3639 // got a partial argument list for a function template, so just bail out.
4920 // partial specializations are not considered even if their
4925 // partial specializations.
5411 /// \param IsPartialSpecialization whether this is a partial specialization of
5489 // A class template partial specialization may be declared or redeclared
5562 /// that checks non-type template partial specialization arguments.
5601 // Within the argument list of a class template partial
5604 // shall not involve a template parameter of the partial
5631 /// partial specialization according to C++ [temp.class.spec]p9.
5637 /// partial specialization.
5794 // Find the class template (partial) specialization declaration that
5858 // arguments of the class template partial specialization.
5883 // Create a new class template partial specialization declaration node.
5888 ClassTemplatePartialSpecializationDecl *Partial
5900 SetNestedNameSpecifier(Partial, SS);
5902 Partial->setTemplateParameterListsInfo(Context,
5908 ClassTemplate->AddPartialSpecialization(Partial, InsertPos);
5909 Specialization = Partial;
5917 // partial specialization are deducible from the template
5918 // arguments. If not, this class template partial specialization
5921 MarkUsedTemplateParameters(Partial->getTemplateArgs(), true,
7770 /// a class template (or class template partial specialization) that was parsed
7772 /// partial specialization thereof). This routine will rebuild that type now