Lines Matching refs:Deduced
137 SmallVectorImpl<DeducedTemplateArgument> &Deduced, unsigned TDF,
145 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
155 llvm::SmallBitVector &Deduced);
376 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNonTypeTemplateArgument() argument
381 S.Context, Deduced[NTTP->getIndex()], NewDeduced); in DeduceNonTypeTemplateArgument()
384 Info.FirstArg = Deduced[NTTP->getIndex()]; in DeduceNonTypeTemplateArgument()
389 Deduced[NTTP->getIndex()] = Result; in DeduceNonTypeTemplateArgument()
418 S, TemplateParams, ParamType, ValueType, Info, Deduced, in DeduceNonTypeTemplateArgument()
429 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNonTypeTemplateArgument() argument
434 ValueType, Info, Deduced); in DeduceNonTypeTemplateArgument()
443 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNullPtrTemplateArgument() argument
453 Value->getType(), Info, Deduced); in DeduceNullPtrTemplateArgument()
463 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNonTypeTemplateArgument() argument
466 Value->getType(), Info, Deduced); in DeduceNonTypeTemplateArgument()
477 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceNonTypeTemplateArgument() argument
481 S, TemplateParams, NTTP, DeducedTemplateArgument(New), T, Info, Deduced); in DeduceNonTypeTemplateArgument()
490 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateArguments() argument
506 Deduced[TempParam->getIndex()], in DeduceTemplateArguments()
510 Info.FirstArg = Deduced[TempParam->getIndex()]; in DeduceTemplateArguments()
515 Deduced[TempParam->getIndex()] = Result; in DeduceTemplateArguments()
551 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateSpecArguments() argument
572 SA->getTemplateName(), Info, Deduced)) in DeduceTemplateSpecArguments()
578 SA->template_arguments(), Info, Deduced, in DeduceTemplateSpecArguments()
597 TemplateName(SA->getSpecializedTemplate()), Info, Deduced)) in DeduceTemplateSpecArguments()
602 SA->getTemplateArgs().asArray(), Info, Deduced, in DeduceTemplateSpecArguments()
676 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in PackDeductionScope() argument
678 : S(S), TemplateParams(TemplateParams), Deduced(Deduced), Info(Info) { in PackDeductionScope()
685 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in PackDeductionScope() argument
687 : S(S), TemplateParams(TemplateParams), Deduced(Deduced), Info(Info) { in PackDeductionScope()
697 Pack.Saved = Deduced[Index]; in addPack()
698 Deduced[Index] = TemplateArgument(); in addPack()
813 Deduced[Pack.Index] = Pack.New[PackElements]; in finishConstruction()
846 DeducedTemplateArgument &DeducedArg = Deduced[Pack.Index]; in nextPackElement()
870 Deduced[Pack.Index] = Pack.Saved; in finish()
917 Loc = &Deduced[Pack.Index]; in finish()
959 SmallVectorImpl<DeducedTemplateArgument> &Deduced; member in __anon0cc92d000111::PackDeductionScope
1007 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in DeduceTemplateArguments() argument
1038 Args[ArgIdx].getUnqualifiedType(), Info, Deduced, TDF, in DeduceTemplateArguments()
1055 PackDeductionScope PackScope(S, TemplateParams, Deduced, Info, Pattern); in DeduceTemplateArguments()
1065 Args[ArgIdx].getUnqualifiedType(), Info, Deduced, TDF, in DeduceTemplateArguments()
1219 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateBases() argument
1264 SmallVector<DeducedTemplateArgument, 8> DeducedCopy(Deduced.begin(), in DeduceTemplateBases()
1265 Deduced.end()); in DeduceTemplateBases()
1307 std::swap(Matches.front().second, Deduced); in DeduceTemplateBases()
1338 SmallVectorImpl<DeducedTemplateArgument> &Deduced, unsigned TDF, in DeduceTemplateArgumentsByTypeMatch() argument
1512 checkDeducedTemplateArguments(S.Context, Deduced[Index], NewDeduced); in DeduceTemplateArgumentsByTypeMatch()
1515 Info.FirstArg = Deduced[Index]; in DeduceTemplateArgumentsByTypeMatch()
1520 Deduced[Index] = Result; in DeduceTemplateArgumentsByTypeMatch()
1615 Deduced, TDF); in DeduceTemplateArgumentsByTypeMatch()
1625 Deduced, TDF); in DeduceTemplateArgumentsByTypeMatch()
1640 PointeeType, Info, Deduced, in DeduceTemplateArgumentsByTypeMatch()
1653 Deduced, 0); in DeduceTemplateArgumentsByTypeMatch()
1665 Deduced, 0); in DeduceTemplateArgumentsByTypeMatch()
1677 IAA->getElementType(), Info, Deduced, TDF & TDF_IgnoreQualifiers); in DeduceTemplateArgumentsByTypeMatch()
1690 Deduced, TDF & TDF_IgnoreQualifiers); in DeduceTemplateArgumentsByTypeMatch()
1704 Info, Deduced, TDF & TDF_IgnoreQualifiers)) in DeduceTemplateArgumentsByTypeMatch()
1721 /*ArrayBound=*/true, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1726 S, TemplateParams, NTTP, DAA->getSizeExpr(), Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1749 Info, Deduced, 0, in DeduceTemplateArgumentsByTypeMatch()
1757 FPA->param_type_begin(), FPA->getNumParams(), Info, Deduced, in DeduceTemplateArgumentsByTypeMatch()
1785 /*DeducedFromArrayBound=*/true, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1790 S, TemplateParams, NTTP, ArgNoexceptExpr, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1817 Deduced); in DeduceTemplateArgumentsByTypeMatch()
1819 SmallVector<DeducedTemplateArgument, 8> DeducedOrig(Deduced.begin(), in DeduceTemplateArgumentsByTypeMatch()
1820 Deduced.end()); in DeduceTemplateArgumentsByTypeMatch()
1823 DeduceTemplateSpecArguments(S, TemplateParams, P, A, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1834 Deduced = DeducedOrig; in DeduceTemplateArgumentsByTypeMatch()
1838 TemplateParams, P, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1868 S, TemplateParams, PPT, APT, Info, Deduced, SubTDF)) in DeduceTemplateArgumentsByTypeMatch()
1872 QualType(MPA->getClass(), 0), Info, Deduced, SubTDF); in DeduceTemplateArgumentsByTypeMatch()
1887 Deduced, 0); in DeduceTemplateArgumentsByTypeMatch()
1911 S, TemplateParams, VP->getElementType(), ElementType, Info, Deduced, in DeduceTemplateArgumentsByTypeMatch()
1922 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
1938 Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1945 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
1955 VA->getSizeExpr(), Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
1971 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
1987 Deduced); in DeduceTemplateArgumentsByTypeMatch()
1994 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2004 VA->getSizeExpr(), Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2028 Deduced, TDF); in DeduceTemplateArgumentsByTypeMatch()
2040 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2045 [&S, &Info, &Deduced, &TemplateParams]( in DeduceTemplateArgumentsByTypeMatch()
2082 /*ArrayBound=*/true, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2087 Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2110 Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2120 S, TemplateParams, NTTP, ASA->getAddrSpaceExpr(), Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2131 S.Context.removeAddrSpaceQualType(A), Info, Deduced, TDF)) in DeduceTemplateArgumentsByTypeMatch()
2142 true, Info, Deduced); in DeduceTemplateArgumentsByTypeMatch()
2164 Deduced); in DeduceTemplateArgumentsByTypeMatch()
2197 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateArguments() argument
2211 S, TemplateParams, P.getAsType(), A.getAsType(), Info, Deduced, 0); in DeduceTemplateArguments()
2219 A.getAsTemplate(), Info, Deduced); in DeduceTemplateArguments()
2260 /*ArrayBound=*/false, Info, Deduced); in DeduceTemplateArguments()
2263 A.getNullPtrType(), Info, Deduced); in DeduceTemplateArguments()
2266 A.getAsExpr(), Info, Deduced); in DeduceTemplateArguments()
2270 Info, Deduced); in DeduceTemplateArguments()
2334 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in DeduceTemplateArguments() argument
2367 As[ArgIdx], Info, Deduced)) in DeduceTemplateArguments()
2385 PackDeductionScope PackScope(S, TemplateParams, Deduced, Info, Pattern); in DeduceTemplateArguments()
2395 As[ArgIdx], Info, Deduced)) in DeduceTemplateArguments()
2415 SmallVectorImpl<DeducedTemplateArgument> &Deduced) { in DeduceTemplateArguments() argument
2417 ArgList.asArray(), Info, Deduced, in DeduceTemplateArguments()
2660 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in ConvertDeducedTemplateArguments() argument
2673 if (Deduced[I].isNull() && Param->isTemplateParameterPack()) { in ConvertDeducedTemplateArguments()
2675 PackDeductionScope(S, TemplateParams, Deduced, Info, I).finish()) in ConvertDeducedTemplateArguments()
2679 if (!Deduced[I].isNull()) { in ConvertDeducedTemplateArguments()
2695 Builder.push_back(Deduced[I]); in ConvertDeducedTemplateArguments()
2702 if (ConvertDeducedTemplateArgument(S, Param, Deduced[I], Template, Info, in ConvertDeducedTemplateArguments()
2811 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in FinishTemplateArgumentDeduction() argument
2825 S, Partial, IsPartialOrdering, Deduced, Info, Builder)) in FinishTemplateArgumentDeduction()
2896 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in FinishTemplateArgumentDeduction() argument
2910 S, Template, /*IsDeduced*/PartialOrdering, Deduced, Info, Builder)) in FinishTemplateArgumentDeduction()
2961 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
2962 Deduced.resize(Partial->getTemplateParameters()->size()); in DeduceTemplateArguments()
2967 TemplateArgs, Info, Deduced)) in DeduceTemplateArguments()
2970 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end()); in DeduceTemplateArguments()
2983 TemplateArgs, Deduced, Info); in DeduceTemplateArguments()
3013 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
3014 Deduced.resize(Partial->getTemplateParameters()->size()); in DeduceTemplateArguments()
3017 TemplateArgs, Info, Deduced)) in DeduceTemplateArguments()
3020 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end()); in DeduceTemplateArguments()
3033 TemplateArgs, Deduced, Info); in DeduceTemplateArguments()
3086 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in SubstituteExplicitTemplateArguments() argument
3265 Deduced.reserve(TemplateParams->size()); in SubstituteExplicitTemplateArguments()
3269 Deduced.push_back(DeducedTemplateArgument()); in SubstituteExplicitTemplateArguments()
3271 Deduced.push_back(Arg); in SubstituteExplicitTemplateArguments()
3431 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in FinishTemplateArgumentDeduction() argument
3443 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end()); in FinishTemplateArgumentDeduction()
3457 *this, FunctionTemplate, /*IsDeduced*/true, Deduced, Info, Builder, in FinishTemplateArgumentDeduction()
3701 Deduced(TemplateParams->size()); in ResolveOverloadForDeduction() local
3705 ArgType, Info, Deduced, TDF); in ResolveOverloadForDeduction()
3820 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
3829 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in DeduceFromInitializerList() argument
3863 S, TemplateParams, 0, ElTy, E, Info, Deduced, OriginalCallArgs, true, in DeduceFromInitializerList()
3883 /*ArrayBound=*/true, Info, Deduced)) in DeduceFromInitializerList()
3896 SmallVectorImpl<DeducedTemplateArgument> &Deduced, in DeduceTemplateArgumentsFromCallArgument() argument
3911 Deduced, OriginalCallArgs, ArgIdx, TDF); in DeduceTemplateArgumentsFromCallArgument()
3921 ArgType, Info, Deduced, TDF); in DeduceTemplateArgumentsFromCallArgument()
3982 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
3989 FunctionTemplate, *ExplicitTemplateArgs, Deduced, ParamTypes, nullptr, in DeduceTemplateArguments()
3995 NumExplicitlySpecified = Deduced.size(); in DeduceTemplateArguments()
4015 *this, TemplateParams, FirstInnerIndex, ParamType, Args[ArgIdx], Info, Deduced, in DeduceTemplateArguments()
4020 Deduced.resize(TemplateParams->size()); in DeduceTemplateArguments()
4041 PackDeductionScope PackScope(*this, TemplateParams, Deduced, Info, in DeduceTemplateArguments()
4096 FunctionTemplate, Deduced, NumExplicitlySpecified, Specialization, Info, in DeduceTemplateArguments()
4184 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
4191 FunctionTemplate, *ExplicitTemplateArgs, Deduced, ParamTypes, in DeduceTemplateArguments()
4197 NumExplicitlySpecified = Deduced.size(); in DeduceTemplateArguments()
4212 Deduced.resize(TemplateParams->size()); in DeduceTemplateArguments()
4232 Info, Deduced, TDF)) in DeduceTemplateArguments()
4238 Result = FinishTemplateArgumentDeduction(FunctionTemplate, Deduced, in DeduceTemplateArguments()
4367 SmallVector<DeducedTemplateArgument, 4> Deduced; in DeduceTemplateArguments() local
4368 Deduced.resize(TemplateParams->size()); in DeduceTemplateArguments()
4392 P, A, Info, Deduced, TDF)) in DeduceTemplateArguments()
4401 Result = FinishTemplateArgumentDeduction(ConversionTemplate, Deduced, 0, in DeduceTemplateArguments()
4559 AutoTypeLoc TypeLoc, QualType Deduced) { in CheckDeducedPlaceholderConstraints() argument
4565 TemplateArgumentLoc(TemplateArgument(Deduced), in CheckDeducedPlaceholderConstraints()
4567 Deduced, TypeLoc.getNameLoc()))); in CheckDeducedPlaceholderConstraints()
4592 << Deduced << Buf << TypeLoc.getLocalSourceRange(); in CheckDeducedPlaceholderConstraints()
4655 QualType Deduced = getDecltypeForExpr(ER.get()); in DeduceAutoType() local
4656 assert(!Deduced.isNull()); in DeduceAutoType()
4661 Deduced); in DeduceAutoType()
4665 Result = SubstituteDeducedTypeTransform(*this, Deduced).Apply(Type); in DeduceAutoType()
4697 SmallVector<DeducedTemplateArgument, 1> Deduced; in DeduceAutoType() local
4698 Deduced.resize(1); in DeduceAutoType()
4739 Info, Deduced, OriginalCallArgs, /*Decomposed*/ true, in DeduceAutoType()
4745 Deduced[0].getKind() != TemplateArgument::Null) in DeduceAutoType()
4755 *this, TemplateParamsSt.get(), 0, FuncParam, Init, Info, Deduced, in DeduceAutoType()
4761 if (Deduced[0].getKind() != TemplateArgument::Type) in DeduceAutoType()
4764 QualType DeducedType = Deduced[0].getAsType(); in DeduceAutoType()
4790 QualType DeducedA = InitList ? Deduced[0].getAsType() : Result; in DeduceAutoType()
4960 SmallVector<DeducedTemplateArgument, 4> Deduced; in isAtLeastAsSpecializedAs() local
4961 Deduced.resize(TemplateParams->size()); in isAtLeastAsSpecializedAs()
5025 Args1.data(), Args1.size(), Info, Deduced, in isAtLeastAsSpecializedAs()
5037 Info, Deduced, TDF_None, in isAtLeastAsSpecializedAs()
5047 Info, Deduced, TDF_None, in isAtLeastAsSpecializedAs()
5059 unsigned ArgIdx = 0, NumArgs = Deduced.size(); in isAtLeastAsSpecializedAs()
5061 if (Deduced[ArgIdx].isNull()) in isAtLeastAsSpecializedAs()
5099 if (Deduced[ArgIdx].isNull() && UsedParameters[ArgIdx]) in isAtLeastAsSpecializedAs()
5341 SmallVector<DeducedTemplateArgument, 4> Deduced; in isAtLeastAsSpecializedAs() local
5344 Deduced.resize(P2->getTemplateParameters()->size()); in isAtLeastAsSpecializedAs()
5346 T2, T1, Info, Deduced, TDF_None, in isAtLeastAsSpecializedAs()
5350 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), in isAtLeastAsSpecializedAs()
5351 Deduced.end()); in isAtLeastAsSpecializedAs()
5364 Deduced, Info); in isAtLeastAsSpecializedAs()
6069 llvm::SmallBitVector &Deduced) { in MarkDeducedTemplateParameters() argument
6072 Deduced.clear(); in MarkDeducedTemplateParameters()
6073 Deduced.resize(TemplateParams->size()); in MarkDeducedTemplateParameters()
6078 true, TemplateParams->getDepth(), Deduced); in MarkDeducedTemplateParameters()
6089 llvm::SmallBitVector Deduced(TemplateParams->size()); in hasDeducibleTemplateParameters() local
6091 Deduced); in hasDeducibleTemplateParameters()
6093 return Deduced.any(); in hasDeducibleTemplateParameters()