Lines Matching refs:Deduced
139 SmallVectorImpl<DeducedTemplateArgument> &Deduced, unsigned TDF,
147 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
157 llvm::SmallBitVector &Deduced);
400 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNonTypeTemplateArgument() argument
405 S.Context, Deduced[NTTP->getIndex()], NewDeduced); in DeduceNonTypeTemplateArgument()
408 Info.FirstArg = Deduced[NTTP->getIndex()]; in DeduceNonTypeTemplateArgument()
413 Deduced[NTTP->getIndex()] = Result; in DeduceNonTypeTemplateArgument()
442 S, TemplateParams, ParamType, ValueType, Info, Deduced, in DeduceNonTypeTemplateArgument()
453 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNonTypeTemplateArgument() argument
458 ValueType, Info, Deduced); in DeduceNonTypeTemplateArgument()
467 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNullPtrTemplateArgument() argument
477 Value->getType(), Info, Deduced); in DeduceNullPtrTemplateArgument()
487 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNonTypeTemplateArgument() argument
490 Value->getType(), Info, Deduced); in DeduceNonTypeTemplateArgument()
501 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNonTypeTemplateArgument() argument
505 S, TemplateParams, NTTP, DeducedTemplateArgument(New), T, Info, Deduced); in DeduceNonTypeTemplateArgument()
514 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateArguments() argument
530 Deduced[TempParam->getIndex()], in DeduceTemplateArguments()
534 Info.FirstArg = Deduced[TempParam->getIndex()]; in DeduceTemplateArguments()
539 Deduced[TempParam->getIndex()] = Result; in DeduceTemplateArguments()
575 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateSpecArguments() argument
607 DeduceTemplateArguments(S, TemplateParams, TNP, TNA, Info, Deduced)) in DeduceTemplateSpecArguments()
613 SA->template_arguments(), Info, Deduced, in DeduceTemplateSpecArguments()
632 TemplateName(SA->getSpecializedTemplate()), Info, Deduced)) in DeduceTemplateSpecArguments()
637 SA->getTemplateArgs().asArray(), Info, Deduced, in DeduceTemplateSpecArguments()
711 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in PackDeductionScope() argument
714 : S(S), TemplateParams(TemplateParams), Deduced(Deduced), Info(Info), in PackDeductionScope()
722 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in PackDeductionScope() argument
724 : S(S), TemplateParams(TemplateParams), Deduced(Deduced), Info(Info) { in PackDeductionScope()
734 Pack.Saved = Deduced[Index]; in addPack()
735 Deduced[Index] = TemplateArgument(); in addPack()
850 Deduced[Pack.Index] = Pack.New[PackElements]; in finishConstruction()
883 DeducedTemplateArgument &DeducedArg = Deduced[Pack.Index]; in nextPackElement()
907 Deduced[Pack.Index] = Pack.Saved; in finish()
954 Loc = &Deduced[Pack.Index]; in finish()
1001 SmallVectorImpl<DeducedTemplateArgument> &Deduced; member in __anon465840c60111::PackDeductionScope
1050 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in DeduceTemplateArguments() argument
1081 Args[ArgIdx].getUnqualifiedType(), Info, Deduced, TDF, in DeduceTemplateArguments()
1098 PackDeductionScope PackScope(S, TemplateParams, Deduced, Info, Pattern); in DeduceTemplateArguments()
1108 Args[ArgIdx].getUnqualifiedType(), Info, Deduced, TDF, in DeduceTemplateArguments()
1272 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateBases() argument
1317 SmallVector<DeducedTemplateArgument, 8> DeducedCopy(Deduced.begin(), in DeduceTemplateBases()
1318 Deduced.end()); in DeduceTemplateBases()
1360 std::swap(Matches.front().second, Deduced); in DeduceTemplateBases()
1391 SmallVectorImpl<DeducedTemplateArgument> &Deduced, unsigned TDF, in DeduceTemplateArgumentsByTypeMatch() argument
1565 checkDeducedTemplateArguments(S.Context, Deduced[Index], NewDeduced); in DeduceTemplateArgumentsByTypeMatch()
1568 Info.FirstArg = Deduced[Index]; in DeduceTemplateArgumentsByTypeMatch()
1573 Deduced[Index] = Result; in DeduceTemplateArgumentsByTypeMatch()
1672 Deduced, TDF); in DeduceTemplateArgumentsByTypeMatch()
1682 Deduced, TDF); in DeduceTemplateArgumentsByTypeMatch()
1697 PointeeType, Info, Deduced, in DeduceTemplateArgumentsByTypeMatch()
1710 Deduced, 0); in DeduceTemplateArgumentsByTypeMatch()
1722 Deduced, 0); in DeduceTemplateArgumentsByTypeMatch()
1736 Deduced, TDF & TDF_IgnoreQualifiers); in DeduceTemplateArgumentsByTypeMatch()
1749 Deduced, TDF & TDF_IgnoreQualifiers); in DeduceTemplateArgumentsByTypeMatch()
1763 Info, Deduced, TDF & TDF_IgnoreQualifiers)) in DeduceTemplateArgumentsByTypeMatch()
1780 /*ArrayBound=*/true, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1785 S, TemplateParams, NTTP, DAA->getSizeExpr(), Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1808 Info, Deduced, 0, in DeduceTemplateArgumentsByTypeMatch()
1816 FPA->param_type_begin(), FPA->getNumParams(), Info, Deduced, in DeduceTemplateArgumentsByTypeMatch()
1844 /*DeducedFromArrayBound=*/true, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1849 S, TemplateParams, NTTP, ArgNoexceptExpr, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1876 Deduced); in DeduceTemplateArgumentsByTypeMatch()
1878 SmallVector<DeducedTemplateArgument, 8> DeducedOrig(Deduced.begin(), in DeduceTemplateArgumentsByTypeMatch()
1879 Deduced.end()); in DeduceTemplateArgumentsByTypeMatch()
1882 DeduceTemplateSpecArguments(S, TemplateParams, P, A, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1893 Deduced = DeducedOrig; in DeduceTemplateArgumentsByTypeMatch()
1897 TemplateParams, P, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1927 S, TemplateParams, PPT, APT, Info, Deduced, SubTDF)) in DeduceTemplateArgumentsByTypeMatch()
1931 QualType(MPA->getClass(), 0), Info, Deduced, SubTDF); in DeduceTemplateArgumentsByTypeMatch()
1946 Deduced, 0); in DeduceTemplateArgumentsByTypeMatch()
1970 S, TemplateParams, VP->getElementType(), ElementType, Info, Deduced, in DeduceTemplateArgumentsByTypeMatch()
1981 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
1997 Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2004 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2014 VA->getSizeExpr(), Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2030 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2046 Deduced); in DeduceTemplateArgumentsByTypeMatch()
2053 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2063 VA->getSizeExpr(), Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2087 Deduced, TDF); in DeduceTemplateArgumentsByTypeMatch()
2099 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2104 [&S, &Info, &Deduced, &TemplateParams]( in DeduceTemplateArgumentsByTypeMatch()
2141 /*ArrayBound=*/true, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2146 Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2169 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2179 S, TemplateParams, NTTP, ASA->getAddrSpaceExpr(), Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2190 S.Context.removeAddrSpaceQualType(A), Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2201 true, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2223 Deduced); in DeduceTemplateArgumentsByTypeMatch()
2256 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateArguments() argument
2270 S, TemplateParams, P.getAsType(), A.getAsType(), Info, Deduced, 0); in DeduceTemplateArguments()
2278 A.getAsTemplate(), Info, Deduced); in DeduceTemplateArguments()
2331 A.getNonTypeTemplateArgumentType(), Info, Deduced); in DeduceTemplateArguments()
2335 A.getNullPtrType(), Info, Deduced); in DeduceTemplateArguments()
2340 Info, Deduced); in DeduceTemplateArguments()
2411 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in DeduceTemplateArguments() argument
2444 As[ArgIdx], Info, Deduced)) in DeduceTemplateArguments()
2462 PackDeductionScope PackScope(S, TemplateParams, Deduced, Info, Pattern); in DeduceTemplateArguments()
2472 As[ArgIdx], Info, Deduced)) in DeduceTemplateArguments()
2492 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateArguments() argument
2494 ArgList.asArray(), Info, Deduced, in DeduceTemplateArguments()
2759 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in ConvertDeducedTemplateArguments() argument
2774 if (Deduced[I].isNull() && Param->isTemplateParameterPack()) { in ConvertDeducedTemplateArguments()
2776 PackDeductionScope(S, TemplateParams, Deduced, Info, I).finish()) in ConvertDeducedTemplateArguments()
2780 if (!Deduced[I].isNull()) { in ConvertDeducedTemplateArguments()
2796 SugaredBuilder.push_back(Deduced[I]); in ConvertDeducedTemplateArguments()
2798 S.Context.getCanonicalTemplateArgument(Deduced[I])); in ConvertDeducedTemplateArguments()
2805 if (ConvertDeducedTemplateArgument(S, Param, Deduced[I], Template, Info, in ConvertDeducedTemplateArguments()
2954 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in FinishTemplateArgumentDeduction() argument
2968 S, Partial, IsPartialOrdering, Deduced, Info, SugaredBuilder, in FinishTemplateArgumentDeduction()
3047 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in FinishTemplateArgumentDeduction() argument
3061 S, Template, /*IsDeduced*/ PartialOrdering, Deduced, Info, in FinishTemplateArgumentDeduction()
3115 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
3116 Deduced.resize(Partial->getTemplateParameters()->size()); in DeduceTemplateArguments()
3121 TemplateArgs, Info, Deduced)) in DeduceTemplateArguments()
3124 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end()); in DeduceTemplateArguments()
3137 TemplateArgs, Deduced, Info); in DeduceTemplateArguments()
3167 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
3168 Deduced.resize(Partial->getTemplateParameters()->size()); in DeduceTemplateArguments()
3171 TemplateArgs, Info, Deduced)) in DeduceTemplateArguments()
3174 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end()); in DeduceTemplateArguments()
3187 TemplateArgs, Deduced, Info); in DeduceTemplateArguments()
3239 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in SubstituteExplicitTemplateArguments() argument
3429 Deduced.reserve(TemplateParams->size()); in SubstituteExplicitTemplateArguments()
3433 Deduced.push_back(DeducedTemplateArgument()); in SubstituteExplicitTemplateArguments()
3435 Deduced.push_back(Arg); in SubstituteExplicitTemplateArguments()
3637 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in FinishTemplateArgumentDeduction() argument
3649 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end()); in FinishTemplateArgumentDeduction()
3663 *this, FunctionTemplate, /*IsDeduced*/ true, Deduced, Info, in FinishTemplateArgumentDeduction()
3949 Deduced(TemplateParams->size()); in ResolveOverloadForDeduction() local
3953 ArgType, Info, Deduced, TDF); in ResolveOverloadForDeduction()
4072 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
4082 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in DeduceFromInitializerList() argument
4117 E->Classify(S.getASTContext()), E, Info, Deduced, in DeduceFromInitializerList()
4137 /*ArrayBound=*/true, Info, Deduced)) in DeduceFromInitializerList()
4152 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in DeduceTemplateArgumentsFromCallArgument() argument
4169 Deduced, OriginalCallArgs, ArgIdx, TDF); in DeduceTemplateArgumentsFromCallArgument()
4180 ArgType, Info, Deduced, TDF); in DeduceTemplateArgumentsFromCallArgument()
4250 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
4257 FunctionTemplate, *ExplicitTemplateArgs, Deduced, ParamTypes, nullptr, in DeduceTemplateArguments()
4263 NumExplicitlySpecified = Deduced.size(); in DeduceTemplateArguments()
4287 /*Arg=*/nullptr, Info, Deduced, OriginalCallArgs, in DeduceTemplateArguments()
4295 Args[ArgIdx], Info, Deduced, OriginalCallArgs, /*Decomposed*/ false, in DeduceTemplateArguments()
4300 Deduced.resize(TemplateParams->size()); in DeduceTemplateArguments()
4332 PackDeductionScope PackScope(*this, TemplateParams, Deduced, Info, in DeduceTemplateArguments()
4390 FunctionTemplate, Deduced, NumExplicitlySpecified, Specialization, Info, in DeduceTemplateArguments()
4478 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
4485 FunctionTemplate, *ExplicitTemplateArgs, Deduced, ParamTypes, in DeduceTemplateArguments()
4491 NumExplicitlySpecified = Deduced.size(); in DeduceTemplateArguments()
4506 Deduced.resize(TemplateParams->size()); in DeduceTemplateArguments()
4524 Info, Deduced, TDF)) in DeduceTemplateArguments()
4530 Result = FinishTemplateArgumentDeduction(FunctionTemplate, Deduced, in DeduceTemplateArguments()
4672 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
4673 Deduced.resize(TemplateParams->size()); in DeduceTemplateArguments()
4703 /*Arg=*/nullptr, Info, Deduced, OriginalCallArgs, in DeduceTemplateArguments()
4710 P, A, Info, Deduced, TDF)) in DeduceTemplateArguments()
4719 Result = FinishTemplateArgumentDeduction(ConversionTemplate, Deduced, 0, in DeduceTemplateArguments()
4856 QualType Deduced) { in CheckDeducedPlaceholderConstraints() argument
4862 TemplateArgumentLoc(TemplateArgument(Deduced), in CheckDeducedPlaceholderConstraints()
4864 Deduced, TypeLoc.getNameLoc()))); in CheckDeducedPlaceholderConstraints()
4892 << Deduced << Buf << TypeLoc.getLocalSourceRange(); in CheckDeducedPlaceholderConstraints()
4970 SmallVector<DeducedTemplateArgument, 1> Deduced; in DeduceAutoType() local
4971 Deduced.resize(1); in DeduceAutoType()
5025 Init->Classify(getASTContext()), Init, Info, Deduced, in DeduceAutoType()
5038 Deduced[0].getKind() != TemplateArgument::Null) in DeduceAutoType()
5052 Init->Classify(getASTContext()), Init, Info, Deduced, in DeduceAutoType()
5059 if (Deduced[0].getKind() != TemplateArgument::Type) in DeduceAutoType()
5061 DeducedType = Deduced[0].getAsType(); in DeduceAutoType()
5090 QualType DeducedA = InitList ? Deduced[0].getAsType() : Result; in DeduceAutoType()
5289 SmallVector<DeducedTemplateArgument, 4> Deduced; in isAtLeastAsSpecializedAs() local
5290 Deduced.resize(TemplateParams->size()); in isAtLeastAsSpecializedAs()
5357 Args1.data(), Args1.size(), Info, Deduced, in isAtLeastAsSpecializedAs()
5369 Info, Deduced, TDF_None, in isAtLeastAsSpecializedAs()
5379 Info, Deduced, TDF_None, in isAtLeastAsSpecializedAs()
5391 unsigned ArgIdx = 0, NumArgs = Deduced.size(); in isAtLeastAsSpecializedAs()
5393 if (Deduced[ArgIdx].isNull()) in isAtLeastAsSpecializedAs()
5431 if (Deduced[ArgIdx].isNull() && UsedParameters[ArgIdx]) in isAtLeastAsSpecializedAs()
5727 SmallVector<DeducedTemplateArgument, 4> Deduced; in isAtLeastAsSpecializedAs() local
5730 Deduced.resize(P2->getTemplateParameters()->size()); in isAtLeastAsSpecializedAs()
5732 T2, T1, Info, Deduced, TDF_None, in isAtLeastAsSpecializedAs()
5736 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), in isAtLeastAsSpecializedAs()
5737 Deduced.end()); in isAtLeastAsSpecializedAs()
5750 Deduced, Info); in isAtLeastAsSpecializedAs()
6555 llvm::SmallBitVector &Deduced) { in MarkDeducedTemplateParameters() argument
6558 Deduced.clear(); in MarkDeducedTemplateParameters()
6559 Deduced.resize(TemplateParams->size()); in MarkDeducedTemplateParameters()
6564 true, TemplateParams->getDepth(), Deduced); in MarkDeducedTemplateParameters()
6575 llvm::SmallBitVector Deduced(TemplateParams->size()); in hasDeducibleTemplateParameters() local
6577 Deduced); in hasDeducibleTemplateParameters()
6579 return Deduced.any(); in hasDeducibleTemplateParameters()