Home | History | Annotate | Download | only in Sema

Lines Matching defs:Partial

2160     // Instantiate any out-of-line class template partial
2248 /// \brief A partial specialization whose template arguments have matched
2251 ClassTemplatePartialSpecializationDecl *Partial;
2302 // template or one of the partial specializations. This is done by
2304 // specialization with the template argument lists of the partial
2312 ClassTemplatePartialSpecializationDecl *Partial = PartialSpecs[I];
2315 = DeduceTemplateArguments(Partial,
2321 .set(Partial, MakeDeductionFailureInfo(Context, Result, Info));
2325 Matched.back().Partial = Partial;
2343 // partial order rules (14.5.4.2) are used to determine
2352 if (getMoreSpecializedPartialSpecialization(P->Partial, Best->Partial,
2354 == P->Partial)
2358 // Determine if the best partial specialization is more specialized than
2365 getMoreSpecializedPartialSpecialization(P->Partial, Best->Partial,
2367 != Best->Partial) {
2374 // Partial ordering did not produce a clear winner. Complain.
2379 // Print the matching partial specializations.
2383 Diag(P->Partial->getLocation(), diag::note_partial_spec_match)
2385 P->Partial->getTemplateParameters(),
2392 // Instantiate using the best class template partial specialization.
2393 ClassTemplatePartialSpecializationDecl *OrigPartialSpec = Best->Partial;
2404 ClassTemplateSpec->setInstantiationOf(Best->Partial, Best->Args);
2750 // If we're performing a partial substitution during template argument