Home | History | Annotate | Download | only in Sema

Lines Matching defs:Partial

946   // class template partial specialization, or class template specialization.
1029 // In a redeclaration, partial specialization, explicit
1819 if (ClassTemplatePartialSpecializationDecl *Partial
1821 ExpectedTemplateParams = Partial->getTemplateParameters();
2567 // Find the variable template (partial) specialization declaration that
2628 // Create a new class template partial specialization declaration node.
2631 VarTemplatePartialSpecializationDecl *Partial =
2638 VarTemplate->AddPartialSpecialization(Partial, InsertPos);
2639 Specialization = Partial;
2647 // partial specialization are deducible from the template
2648 // arguments. If not, this variable template partial specialization
2651 MarkUsedTemplateParameters(Partial->getTemplateArgs(), true,
2747 /// \brief A partial specialization whose template arguments have matched
2750 VarTemplatePartialSpecializationDecl *Partial;
2781 // the set of specializations, based on the closest partial specialization
2794 // 1. Attempt to find the closest partial specialization that this
2798 // complete by instantiation time. Thus, do not search through the partial
2811 VarTemplatePartialSpecializationDecl *Partial = PartialSpecs[I];
2815 DeduceTemplateArguments(Partial, TemplateArgList, Info)) {
2819 DeclAccessPair::make(Template, AS_public), Partial,
2824 Matched.back().Partial = Partial;
2837 // partial order rules (14.5.4.2) are used to determine
2846 if (getMoreSpecializedPartialSpecialization(P->Partial, Best->Partial,
2848 P->Partial)
2852 // Determine if the best partial specialization is more specialized than
2858 P->Partial, Best->Partial,
2859 PointOfInstantiation) != Best->Partial) {
2866 // Instantiate using the best variable template partial specialization.
2867 InstantiationPattern = Best->Partial;
2887 // Partial ordering did not produce a clear winner. Complain.
2892 // Print the matching partial specializations.
2896 Diag(P->Partial->getLocation(), diag::note_partial_spec_match)
2898 P->Partial->getTemplateParameters(), *P->Args);
3892 // If we're checking a partial template argument list, we're done.
3909 // got a partial argument list for a function template, so just bail out.
4006 // If we're performing a partial argument substitution, allow any trailing
5372 // partial specializations are not considered even if their
5377 // partial specializations.
5881 /// \param IsPartialSpecialization whether this is a partial specialization of
5959 // A class template partial specialization may be declared or redeclared
6056 /// that checks non-type template partial specialization arguments.
6096 // Within the argument list of a class template partial
6099 // shall not involve a template parameter of the partial
6147 /// partial specialization according to C++ [temp.class.spec]p9.
6154 /// partial specialization.
6311 // Find the class template (partial) specialization declaration that
6352 // arguments of the class template partial specialization.
6377 // Create a new class template partial specialization declaration node.
6380 ClassTemplatePartialSpecializationDecl *Partial
6390 SetNestedNameSpecifier(Partial, SS);
6392 Partial->setTemplateParameterListsInfo(
6397 ClassTemplate->AddPartialSpecialization(Partial, InsertPos);
6398 Specialization = Partial;
6406 // partial specialization are deducible from the template
6407 // arguments. If not, this class template partial specialization
6410 MarkUsedTemplateParameters(Partial->getTemplateArgs(), true,
7008 // implicitly generated (during template argument deduction for partial
8440 /// a class template (or class template partial specialization) that was parsed
8442 /// partial specialization thereof). This routine will rebuild that type now
8623 /// A partial specialization shall be declared before the first use of a
8624 /// class template specialization that would make use of the partial
8746 /// \brief Check whether a template partial specialization that we've discovered