From 5898f3fdececc29c7bd710f5883335d8e39830a2 Mon Sep 17 00:00:00 2001 From: Derek Bankieris Date: Mon, 31 Oct 2016 09:34:24 -0500 Subject: [PATCH] Improve loop efficiency #341 Calling getTemplateArgs() every iteration is wasteful. This should be done once outside of the loop. Even better, use a foreach loop and get rid of the index varible! --- trick_source/codegen/Interface_Code_Gen/FieldVisitor.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/trick_source/codegen/Interface_Code_Gen/FieldVisitor.cpp b/trick_source/codegen/Interface_Code_Gen/FieldVisitor.cpp index 7ec914fc..f31e7fcf 100644 --- a/trick_source/codegen/Interface_Code_Gen/FieldVisitor.cpp +++ b/trick_source/codegen/Interface_Code_Gen/FieldVisitor.cpp @@ -347,9 +347,7 @@ static std::map init_stl_classes() { } static bool checkForPrivateTemplateArgs( clang::ClassTemplateSpecializationDecl * ctsd ) { - unsigned int ii ; - for ( ii = 0 ; ii < ctsd->getTemplateArgs().size() ; ii++ ) { - const clang::TemplateArgument & ta = ctsd->getTemplateArgs().get(ii) ; + for (auto& ta : ctsd->getTemplateArgs().asArray()) { if ( ta.getKind() == clang::TemplateArgument::Type ) { clang::QualType qt = ta.getAsType() ; //std::cout << qt.getAsString() << std::endl ; @@ -376,9 +374,7 @@ static bool checkForPrivateTemplateArgs( clang::ClassTemplateSpecializationDecl } static bool checkForConstTemplateArgs( clang::ClassTemplateSpecializationDecl * ctsd ) { - unsigned int ii ; - for ( ii = 0 ; ii < ctsd->getTemplateArgs().size() ; ii++ ) { - const clang::TemplateArgument & ta = ctsd->getTemplateArgs().get(ii) ; + for (auto& ta : ctsd->getTemplateArgs().asArray()) { if ( ta.getKind() == clang::TemplateArgument::Type ) { clang::QualType qt = ta.getAsType() ; //std::cout << qt.getAsString() << std::endl ;