Lines Matching defs:Deduced
139 SmallVectorImpl<DeducedTemplateArgument> &Deduced, unsigned TDF,
148 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
159 llvm::SmallBitVector &Deduced);
403 SmallVectorImpl<DeducedTemplateArgument> &Deduced) {
408 S.Context, Deduced[NTTP->getIndex()], NewDeduced);
411 Info.FirstArg = Deduced[NTTP->getIndex()];
416 Deduced[NTTP->getIndex()] = Result;
445 S, TemplateParams, ParamType, ValueType, Info, Deduced,
456 SmallVectorImpl<DeducedTemplateArgument> &Deduced) {
461 ValueType, Info, Deduced);
470 SmallVectorImpl<DeducedTemplateArgument> &Deduced) {
480 Value->getType(), Info, Deduced);
491 SmallVectorImpl<DeducedTemplateArgument> &Deduced) {
494 Value->getType(), Info, Deduced);
505 SmallVectorImpl<DeducedTemplateArgument> &Deduced) {
509 S, TemplateParams, NTTP, DeducedTemplateArgument(New), T, Info, Deduced);
572 SmallVectorImpl<DeducedTemplateArgument> &Deduced) {
619 Deduced[TempParam->getIndex()],
623 Info.FirstArg = Deduced[TempParam->getIndex()];
628 Deduced[TempParam->getIndex()] = Result;
655 /// \param Deduced the deduced template arguments
676 SmallVectorImpl<DeducedTemplateArgument> &Deduced) {
724 AResolved, Deduced);
732 Info, Deduced,
756 SA->getTemplateArgs().asArray(), Deduced);
762 SA->getTemplateArgs().asArray(), Info, Deduced,
838 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
841 : S(S), TemplateParams(TemplateParams), Deduced(Deduced), Info(Info),
849 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
851 : S(S), TemplateParams(TemplateParams), Deduced(Deduced), Info(Info) {
860 DeducedFromEarlierParameter = !Deduced[Index].isNull();
862 Pack.Saved = Deduced[Index];
863 Deduced[Index] = TemplateArgument();
978 Deduced[Pack.Index] = Pack.New[PackElements];
1028 DeducedTemplateArgument &DeducedArg = Deduced[Pack.Index];
1052 Deduced[Pack.Index] = Pack.Saved;
1099 Loc = &Deduced[Pack.Index];
1146 SmallVectorImpl<DeducedTemplateArgument> &Deduced;
1178 /// \param Deduced the deduced template arguments
1195 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
1224 Args[ArgIdx].getUnqualifiedType(), Info, Deduced, TDF,
1242 PackDeductionScope PackScope(S, TemplateParams, Deduced, Info, Pattern);
1251 Args[ArgIdx].getUnqualifiedType(), Info, Deduced, TDF,
1399 /// \param Deduced the deduced template arguments.
1408 SmallVectorImpl<DeducedTemplateArgument> &Deduced) {
1453 SmallVector<DeducedTemplateArgument, 8> DeducedCopy(Deduced.begin(),
1454 Deduced.end());
1496 std::swap(Matches.front().second, Deduced);
1513 /// \param Deduced the deduced template arguments
1527 SmallVectorImpl<DeducedTemplateArgument> &Deduced, unsigned TDF,
1701 checkDeducedTemplateArguments(S.Context, Deduced[Index], NewDeduced);
1704 Info.FirstArg = Deduced[Index];
1709 Deduced[Index] = Result;
1808 Deduced, TDF);
1818 Deduced, TDF);
1833 PointeeType, Info, Deduced,
1846 Deduced, 0);
1858 Deduced, 0);
1872 Deduced, TDF & TDF_IgnoreQualifiers);
1885 Deduced, TDF & TDF_IgnoreQualifiers);
1899 Info, Deduced, TDF & TDF_IgnoreQualifiers);
1917 /*ArrayBound=*/true, Info, Deduced);
1922 S, TemplateParams, NTTP, DAA->getSizeExpr(), Info, Deduced);
1945 Info, Deduced, 0,
1954 FPA->param_type_begin(), FPA->getNumParams(), Info, Deduced,
1983 /*DeducedFromArrayBound=*/true, Info, Deduced);
1988 S, TemplateParams, NTTP, ArgNoexceptExpr, Info, Deduced);
2015 Deduced);
2017 SmallVector<DeducedTemplateArgument, 8> DeducedOrig(Deduced.begin(),
2018 Deduced.end());
2021 DeduceTemplateSpecArguments(S, TemplateParams, P, A, Info, Deduced);
2035 Deduced = DeducedOrig;
2039 TemplateParams, P, Info, Deduced);
2070 S, TemplateParams, PPT, APT, Info, Deduced, SubTDF);
2075 QualType(MPA->getClass(), 0), Info, Deduced, SubTDF);
2090 Deduced, 0);
2114 S, TemplateParams, VP->getElementType(), ElementType, Info, Deduced,
2125 Info, Deduced, TDF);
2142 Info, Deduced);
2149 Info, Deduced, TDF);
2160 VA->getSizeExpr(), Info, Deduced);
2176 Info, Deduced, TDF);
2193 Deduced);
2200 Info, Deduced, TDF);
2211 VA->getSizeExpr(), Info, Deduced);
2235 Deduced, TDF);
2247 Info, Deduced, TDF);
2253 [&S, &Info, &Deduced, &TemplateParams](
2290 /*ArrayBound=*/true, Info, Deduced);
2295 Info, Deduced);
2319 Info, Deduced, TDF);
2330 S, TemplateParams, NTTP, ASA->getAddrSpaceExpr(), Info, Deduced);
2341 S.Context.removeAddrSpaceQualType(A), Info, Deduced, TDF);
2353 true, Info, Deduced);
2375 Deduced);
2405 S, TemplateParams, PIT->getSelectedType(), A, Info, Deduced, TDF);
2418 SmallVectorImpl<DeducedTemplateArgument> &Deduced) {
2432 S, TemplateParams, P.getAsType(), A.getAsType(), Info, Deduced, 0);
2441 /*DefaultArguments=*/{}, Deduced);
2494 A.getNonTypeTemplateArgumentType(), Info, Deduced);
2498 A.getNullPtrType(), Info, Deduced);
2503 Info, Deduced);
2574 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
2612 DeduceTemplateArguments(S, TemplateParams, Pi, Ai, Info, Deduced);
2631 PackDeductionScope PackScope(S, TemplateParams, Deduced, Info, Pattern);
2644 DeduceTemplateArguments(S, TemplateParams, Pi, Ai, Info, Deduced);
2664 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
2666 return ::DeduceTemplateArguments(*this, TemplateParams, Ps, As, Info, Deduced,
2920 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
2935 if (Deduced[I].isNull() && Param->isTemplateParameterPack()) {
2937 PackDeductionScope(S, TemplateParams, Deduced, Info, I).finish();
2942 if (!Deduced[I].isNull()) {
2958 SugaredBuilder.push_back(Deduced[I]);
2960 S.Context.getCanonicalTemplateArgument(Deduced[I]));
2967 if (ConvertDeducedTemplateArgument(S, Param, Deduced[I], Template, Info,
3093 // not class-scope explicit specialization, so replace with Deduced Args
3117 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
3131 S, Partial, IsPartialOrdering, Deduced, Info, SugaredBuilder,
3213 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
3227 S, Template, /*IsDeduced*/ PartialOrdering, Deduced, Info,
3262 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
3276 S, TD, /*IsPartialOrdering=*/false, Deduced, Info, SugaredBuilder,
3319 SmallVector<DeducedTemplateArgument, 4> Deduced;
3320 Deduced.resize(Partial->getTemplateParameters()->size());
3323 Partial->getTemplateArgs().asArray(), TemplateArgs, Info, Deduced,
3328 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end());
3341 TemplateArgs, Deduced, Info);
3386 SmallVector<DeducedTemplateArgument> Deduced(
3391 TD->getTemplateParameters(), PArgs, AArgs, Info, Deduced, false);
3396 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end());
3406 Result = ::FinishTemplateArgumentDeduction(*this, TD, Deduced, Info);
3434 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
3607 Deduced.reserve(TemplateParams->size());
3611 Deduced.push_back(DeducedTemplateArgument());
3613 Deduced.push_back(Arg);
3810 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
3822 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end());
3836 *this, FunctionTemplate, /*IsDeduced*/ true, Deduced, Info,
4126 Deduced(TemplateParams->size());
4129 S, TemplateParams, ParamType, ArgType, Info, Deduced, TDF);
4249 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
4259 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
4294 E->Classify(S.getASTContext()), E, Info, Deduced,
4315 /*ArrayBound=*/true, Info, Deduced);
4331 SmallVectorImpl<DeducedTemplateArgument> &Deduced,
4348 Deduced, OriginalCallArgs, ArgIdx, TDF);
4359 ArgType, Info, Deduced, TDF);
4404 SmallVector<DeducedTemplateArgument, 4> Deduced;
4411 FunctionTemplate, *ExplicitTemplateArgs, Deduced, ParamTypes, nullptr,
4417 NumExplicitlySpecified = Deduced.size();
4441 /*Arg=*/nullptr, Info, Deduced, OriginalCallArgs,
4449 Args[ArgIdx], Info, Deduced, OriginalCallArgs, /*Decomposed*/ false,
4454 Deduced.resize(TemplateParams->size());
4488 PackDeductionScope PackScope(*this, TemplateParams, Deduced, Info,
4578 FunctionTemplate, Deduced, NumExplicitlySpecified, Specialization, Info,
4638 SmallVector<DeducedTemplateArgument, 4> Deduced;
4645 FunctionTemplate, *ExplicitTemplateArgs, Deduced, ParamTypes,
4651 NumExplicitlySpecified = Deduced.size();
4666 Deduced.resize(TemplateParams->size());
4682 *this, TemplateParams, FunctionType, ArgFunctionType, Info, Deduced,
4690 Result = FinishTemplateArgumentDeduction(FunctionTemplate, Deduced,
4825 SmallVector<DeducedTemplateArgument, 4> Deduced;
4826 Deduced.resize(TemplateParams->size());
4856 /*Arg=*/nullptr, Info, Deduced, OriginalCallArgs,
4863 *this, TemplateParams, P, A, Info, Deduced, TDF);
4873 Result = FinishTemplateArgumentDeduction(ConversionTemplate, Deduced, 0,
4987 QualType Deduced) {
4993 TemplateArgumentLoc(TemplateArgument(Deduced),
4995 Deduced, TypeLoc.getNameLoc())));
5037 << Deduced << Buf << TypeLoc.getLocalSourceRange();
5097 SmallVector<DeducedTemplateArgument, 1> Deduced;
5098 Deduced.resize(1);
5152 Init->Classify(getASTContext()), Init, Info, Deduced,
5166 Deduced[0].getKind() != TemplateArgument::Null)
5180 Init->Classify(getASTContext()), Init, Info, Deduced,
5188 if (Deduced[0].getKind() != TemplateArgument::Type)
5190 DeducedType = Deduced[0].getAsType();
5219 QualType DeducedA = InitList ? Deduced[0].getAsType() : Result;
5420 SmallVector<DeducedTemplateArgument, 4> Deduced;
5421 Deduced.resize(TemplateParams->size());
5430 Args1.data(), Args1.size(), Info, Deduced,
5442 Info, Deduced, TDF_None,
5451 S, TemplateParams, FD2->getType(), FD1->getType(), Info, Deduced,
5464 unsigned ArgIdx = 0, NumArgs = Deduced.size();
5466 if (Deduced[ArgIdx].isNull())
5524 if (Deduced[ArgIdx].isNull() && UsedParameters[ArgIdx])
5881 SmallVector<DeducedTemplateArgument, 4> Deduced;
5884 Deduced.resize(P2->getTemplateParameters()->size());
5886 S, P2->getTemplateParameters(), T2, T1, Info, Deduced, TDF_None,
5890 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(),
5891 Deduced.end());
5903 Deduced, Info) == TemplateDeductionResult::Success;
6204 SmallVector<DeducedTemplateArgument, 4> Deduced;
6205 Deduced.resize(A->size());
6218 if (::DeduceTemplateArguments(*this, A, AArgs, PArgs, Info, Deduced,
6225 SmallVector<TemplateArgument, 4> DeducedArgs(Deduced.begin(), Deduced.end());
6235 *this, AArg, /*IsPartialOrdering=*/true, PArgs, Deduced, Info) ==
6720 llvm::SmallBitVector &Deduced) {
6723 Deduced.clear();
6724 Deduced.resize(TemplateParams->size());
6729 true, TemplateParams->getDepth(), Deduced);
6740 llvm::SmallBitVector Deduced(TemplateParams->size());
6742 Deduced);
6744 return Deduced.any();