Home | History | Annotate | Download | only in Sema

Lines Matching defs:Partial

914   // class template partial specialization, or class template specialization.
982 // In a redeclaration, partial specialization, explicit
1772 if (ClassTemplatePartialSpecializationDecl *Partial
1774 ExpectedTemplateParams = Partial->getTemplateParameters();
2463 // Find the variable template (partial) specialization declaration that
2524 // Create a new class template partial specialization declaration node.
2527 VarTemplatePartialSpecializationDecl *Partial =
2534 VarTemplate->AddPartialSpecialization(Partial, InsertPos);
2535 Specialization = Partial;
2543 // partial specialization are deducible from the template
2544 // arguments. If not, this variable template partial specialization
2547 MarkUsedTemplateParameters(Partial->getTemplateArgs(), true,
2643 /// \brief A partial specialization whose template arguments have matched
2646 VarTemplatePartialSpecializationDecl *Partial;
2675 // the set of specializations, based on the closest partial specialization
2687 // 1. Attempt to find the closest partial specialization that this
2691 // complete by instantiation time. Thus, do not search through the partial
2704 VarTemplatePartialSpecializationDecl *Partial = PartialSpecs[I];
2708 DeduceTemplateArguments(Partial, TemplateArgList, Info)) {
2712 .set(Partial, MakeDeductionFailureInfo(Context, Result, Info));
2716 Matched.back().Partial = Partial;
2729 // partial order rules (14.5.4.2) are used to determine
2738 if (getMoreSpecializedPartialSpecialization(P->Partial, Best->Partial,
2740 P->Partial)
2744 // Determine if the best partial specialization is more specialized than
2750 P->Partial, Best->Partial,
2751 PointOfInstantiation) != Best->Partial) {
2758 // Instantiate using the best variable template partial specialization.
2759 InstantiationPattern = Best->Partial;
2779 // Partial ordering did not produce a clear winner. Complain.
2784 // Print the matching partial specializations.
2788 Diag(P->Partial->getLocation(), diag::note_partial_spec_match)
2790 P->Partial->getTemplateParameters(), *P->Args);
3764 // If we're checking a partial template argument list, we're done.
3782 // got a partial argument list for a function template, so just bail out.
3880 // If we're performing a partial argument substitution, allow any trailing
5130 // partial specializations are not considered even if their
5135 // partial specializations.
5636 /// \param IsPartialSpecialization whether this is a partial specialization of
5714 // A class template partial specialization may be declared or redeclared
5809 /// that checks non-type template partial specialization arguments.
5849 // Within the argument list of a class template partial
5852 // shall not involve a template parameter of the partial
5900 /// partial specialization according to C++ [temp.class.spec]p9.
5907 /// partial specialization.
6062 // Find the class template (partial) specialization declaration that
6105 // arguments of the class template partial specialization.
6130 // Create a new class template partial specialization declaration node.
6133 ClassTemplatePartialSpecializationDecl *Partial
6144 SetNestedNameSpecifier(Partial, SS);
6146 Partial->setTemplateParameterListsInfo(Context,
6152 ClassTemplate->AddPartialSpecialization(Partial, InsertPos);
6153 Specialization = Partial;
6161 // partial specialization are deducible from the template
6162 // arguments. If not, this class template partial specialization
6165 MarkUsedTemplateParameters(Partial->getTemplateArgs(), true,
8019 /// a class template (or class template partial specialization) that was parsed
8021 /// partial specialization thereof). This routine will rebuild that type now