Home | History | Annotate | Download | only in Sema

Lines Matching refs:Specialization

465   // If the argument type is a class template specialization, we
1407 // specialization type had been used.
1411 "injected class name is not a template specialization type");
2113 /// specialization.
2185 // arguments of the class template partial specialization, and
2238 /// partial specialization per C++ [temp.class.spec.match].
2247 // A partial specialization matches a given actual template
2249 // specialization can be deduced from the actual template argument
2279 /// specialization.
2349 // arguments of the class template partial specialization, and
2399 /// partial specialization per C++ [temp.class.spec.match].
2413 // A partial specialization matches a given actual template
2415 // specialization
2749 /// the function template specialization.
2757 FunctionDecl *&Specialization,
2917 // declaration to produce the function template specialization.
2921 Specialization = cast_or_null<FunctionDecl>(
2924 if (!Specialization || Specialization->isInvalidDecl())
2927 assert(Specialization->getPrimaryTemplate()->getCanonicalDecl() ==
2931 // specialization, release it.
2932 if (Specialization->getTemplateSpecializationArgs() == DeducedArgumentList &&
2940 Specialization->setInvalidDecl(true);
2953 if (ParamIdx >= Specialization->getNumParams())
2956 QualType DeducedA = Specialization->getParamDecl(ParamIdx)->getType();
2964 // keep track of these diagnostics. They'll be emitted if this specialization
2968 Pos = SuppressedDiagnostics.find(Specialization->getCanonicalDecl());
2970 SuppressedDiagnostics[Specialization->getCanonicalDecl()]
3028 // But we can still look for an explicit specialization.
3054 FunctionDecl *Specialization = nullptr;
3057 Specialization, Info))
3060 D = Specialization;
3322 /// \param Specialization if template argument deduction was successful,
3323 /// this will be set to the function template specialization produced by
3333 FunctionDecl *&Specialization, TemplateDeductionInfo &Info,
3516 NumExplicitlySpecified, Specialization,
3544 /// template (C++ [temp.deduct.funcaddr]) or matching a specialization to
3558 /// \param Specialization if template argument deduction was successful,
3559 /// this will be set to the function template specialization produced by
3570 FunctionDecl *&Specialization,
3628 Specialization, Info))
3634 Specialization->getReturnType()->isUndeducedType() &&
3635 DeduceReturnType(Specialization, Info.getLocation(), false))
3639 // specialization with respect to arguments of compatible pointer to function
3643 Context.getCanonicalType(Specialization->getType()),
3647 !Context.hasSameType(Specialization->getType(), ArgFunctionType))
3733 // specialization's result type.
3737 // the full result type of the call op specialization
3767 /// conversion function template specialization.
3771 CXXConversionDecl *&Specialization,
3870 Specialization = cast_or_null<CXXConversionDecl>(ConversionSpecialized);
3897 Specialization, Deduced, DestFunctionPtrReturnType,
3912 /// \param Specialization if template argument deduction was successful,
3913 /// this will be set to the function template specialization produced by
3923 FunctionDecl *&Specialization,
3927 QualType(), Specialization, Info,
4430 /// specialization that is a candidate in the ambiguous ordering. One parameter
4432 /// describing the template arguments for the function template specialization.
4434 /// \returns the most specialized function template specialization, if
4458 assert(BestTemplate && "Not a function template specialization?");
4462 assert(Challenger && "Not a function template specialization?");
4511 /// \brief Returns the more specialized class template partial specialization
4515 /// \param PS1 the first class template partial specialization
4517 /// \param PS2 the second class template partial specialization
4519 /// \returns the more specialized class template partial specialization. If
4520 /// neither partial specialization is more specialized, returns NULL.
4533 // first partial specialization and has a single function parameter
4534 // whose type is a class template specialization with the template
4535 // arguments of the first partial specialization, and
4537 // second partial specialization and has a single function parameter
4538 // whose type is a class template specialization with the template
4539 // arguments of the second partial specialization.
4548 // template partial specialization's template arguments, for