From 2a89e8526a297a3ddb2a4e56045060f26cb0f71c Mon Sep 17 00:00:00 2001 From: Aaron Ballman Date: Tue, 15 Jul 2014 21:32:31 +0000 Subject: Added the pack_elements range accessor. Refactoring some for loops to use range-based for loops instead. No functional changes intended. llvm-svn: 213095 --- clang/lib/Sema/SemaTemplateDeduction.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'clang/lib/Sema/SemaTemplateDeduction.cpp') diff --git a/clang/lib/Sema/SemaTemplateDeduction.cpp b/clang/lib/Sema/SemaTemplateDeduction.cpp index f941a0992cb..53a75d227c7 100644 --- a/clang/lib/Sema/SemaTemplateDeduction.cpp +++ b/clang/lib/Sema/SemaTemplateDeduction.cpp @@ -2095,13 +2095,11 @@ ConvertDeducedTemplateArgument(Sema &S, NamedDecl *Param, // This is a template argument pack, so check each of its arguments against // the template parameter. SmallVector PackedArgsBuilder; - for (TemplateArgument::pack_iterator PA = Arg.pack_begin(), - PAEnd = Arg.pack_end(); - PA != PAEnd; ++PA) { + for (const auto &P : Arg.pack_elements()) { // When converting the deduced template argument, append it to the // general output list. We need to do this so that the template argument // checking logic has all of the prior template arguments available. - DeducedTemplateArgument InnerArg(*PA); + DeducedTemplateArgument InnerArg(P); InnerArg.setDeducedFromArrayBound(Arg.wasDeducedFromArrayBound()); if (ConvertDeducedTemplateArgument(S, Param, InnerArg, Template, NTTPType, PackedArgsBuilder.size(), @@ -5037,10 +5035,8 @@ MarkUsedTemplateParameters(ASTContext &Ctx, break; case TemplateArgument::Pack: - for (TemplateArgument::pack_iterator P = TemplateArg.pack_begin(), - PEnd = TemplateArg.pack_end(); - P != PEnd; ++P) - MarkUsedTemplateParameters(Ctx, *P, OnlyDeduced, Depth, Used); + for (const auto &P : TemplateArg.pack_elements()) + MarkUsedTemplateParameters(Ctx, P, OnlyDeduced, Depth, Used); break; } } -- cgit v1.2.3