Lines Matching defs:ArgIdx

1151   unsigned ArgIdx = 0, ParamIdx = 0;
1160 if (ArgIdx >= Args.size())
1163 if (isa<PackExpansionType>(Args[ArgIdx])) {
1172 DeductFunc(S, TemplateParams, ParamIdx, ArgIdx,
1174 Args[ArgIdx].getUnqualifiedType(), Info, Deduced, POK);
1178 ++ArgIdx;
1197 for (; ArgIdx < Args.size() && PackScope.hasNextElement(); ++ArgIdx) {
1200 S, TemplateParams, ParamIdx, ArgIdx,
1201 Pattern.getUnqualifiedType(), Args[ArgIdx].getUnqualifiedType(),
1227 for (unsigned I = 0; I != *NumExpansions && ArgIdx < Args.size();
1228 ++I, ++ArgIdx)
1246 if (POK == PartialOrderingKind::Call && ArgIdx + 1 == Args.size() &&
1247 isa<PackExpansionType>(Args[ArgIdx]))
1251 if (ArgIdx < Args.size())
1299 int ArgIdx, QualType P, QualType A, TemplateDeductionInfo &Info,
2642 /// parameters so that \c Args[ArgIdx] will be the available template argument.
2645 /// \c Args[ArgIdx]), false otherwise.
2647 unsigned &ArgIdx) {
2648 if (ArgIdx == Args.size())
2651 const TemplateArgument &Arg = Args[ArgIdx];
2655 assert(ArgIdx == Args.size() - 1 && "Pack not at the end of argument list?");
2657 ArgIdx = 0;
2658 return ArgIdx < Args.size();
2705 for (unsigned ArgIdx = 0, ParamIdx = 0; /**/; /**/) {
2707 return !FoldPackParameter && hasTemplateArgumentForDeduction(As, ArgIdx)
2715 if (!hasTemplateArgumentForDeduction(As, ArgIdx))
2720 if (As[ArgIdx].isPackExpansion()) {
2728 TemplateArgument Pattern = As[ArgIdx].getPackExpansionPattern();
2746 S, TemplateParams, Ps[ParamIdx], As[ArgIdx], Info,
2751 ++ArgIdx;
2772 for (; hasTemplateArgumentForDeduction(As, ArgIdx) &&
2774 ++ArgIdx) {
2775 if (!As[ArgIdx].isPackExpansion()) {
2783 S, TemplateParams, Pattern, As[ArgIdx], Info, PartialOrdering,
3324 unsigned ArgIdx = InstArgs.size(), ParamIdx = ArgIdx;
3331 Info.FirstArg = (*PartialTemplArgInfo)[ArgIdx].getArgument();
3838 Info.CallArgIndex = OriginalArg.ArgIdx;
4146 auto ParamIdx = OriginalArg.ArgIdx;
4445 bool DecomposedParam, unsigned ArgIdx, unsigned TDF,
4454 SmallVectorImpl<Sema::OriginalCallArg> &OriginalCallArgs, unsigned ArgIdx,
4489 OriginalCallArgs, true, ArgIdx, TDF);
4528 bool DecomposedParam, unsigned ArgIdx, unsigned TDF,
4543 Deduced, OriginalCallArgs, ArgIdx, TDF);
4552 Sema::OriginalCallArg(OrigParamType, DecomposedParam, ArgIdx, ArgType));
4624 // Deduce an argument of type ParamType from an expression with index ArgIdx.
4625 auto DeduceCallArgument = [&](QualType ParamType, unsigned ArgIdx,
4640 /*Decomposed*/ false, ArgIdx, /*TDF*/ 0);
4646 Args[ArgIdx]->getType(), Args[ArgIdx]->Classify(getASTContext()),
4647 Args[ArgIdx], Info, Deduced, OriginalCallArgs, /*Decomposed*/ false,
4648 ArgIdx, /*TDF*/ 0);
4654 for (unsigned ParamIdx = 0, NumParamTypes = ParamTypes.size(), ArgIdx = 0;
4662 if (ArgIdx >= Args.size() && !(HasExplicitObject && ParamIdx == 0))
4678 if (auto Result = DeduceCallArgument(ParamType, ArgIdx++,
4710 for (; ArgIdx < Args.size() && PackScope.hasNextElement();
4711 PackScope.nextPackElement(), ++ArgIdx) {
4713 if (auto Result = DeduceCallArgument(ParamPattern, ArgIdx,
4725 for (unsigned I = 0; I != *NumExpansions && ArgIdx < Args.size();
4726 ++I, ++ArgIdx) {
4751 unsigned PackArgEnd = ArgIdx + *ArgPosAfterSubstitution;
4752 for (; ArgIdx < PackArgEnd && ArgIdx < Args.size(); ArgIdx++) {
4755 DeduceCallArgument(ParamPattern, ArgIdx,
5358 /*ArgIdx=*/0, /*TDF=*/0);
5386 /*Decomposed=*/false, /*ArgIdx=*/0, /*TDF=*/0, FailedTSC);
5607 Sema &S, FunctionTemplateDecl *FTD, int ArgIdx, QualType P, QualType A,
5612 S, ArgIdx != -1 ? ::getPackIndexForParam(S, FTD, MLTAL, ArgIdx) : -1);
5764 S, FTD, /*ArgIdx=*/-1, Proto2->getReturnType(),
5778 int ArgIdx, QualType P, QualType A,
5782 if (ArgIdx != -1)
5783 ArgIdx -= Args1Offset;
5785 S, FTD, ArgIdx, P, A, DeducedArgs,
5799 unsigned ArgIdx = 0, NumArgs = Deduced.size();
5800 for (; ArgIdx != NumArgs; ++ArgIdx)
5801 if (Deduced[ArgIdx].isNull())
5804 if (ArgIdx == NumArgs) {
5852 for (; ArgIdx != NumArgs; ++ArgIdx)
5855 if (Deduced[ArgIdx].isNull() && UsedParameters[ArgIdx])