]> granicus.if.org Git - clang/commitdiff
[C++11] Replacing Scope iterators using_directives_begin() and using_directives_end...
authorAaron Ballman <aaron@aaronballman.com>
Mon, 17 Mar 2014 17:03:37 +0000 (17:03 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Mon, 17 Mar 2014 17:03:37 +0000 (17:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204053 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Sema/Scope.h
lib/Sema/SemaLookup.cpp

index ccc7973c777c06010aa09f45df7c9caadcdda6a7..54ca2a6bb64d97fc2f6862eac24ced4450b92b7e 100644 (file)
@@ -361,27 +361,16 @@ public:
   /// is a FunctionPrototypeScope.
   bool containedInPrototypeScope() const;
 
-  typedef UsingDirectivesTy::iterator udir_iterator;
-  typedef UsingDirectivesTy::const_iterator const_udir_iterator;
-
   void PushUsingDirective(UsingDirectiveDecl *UDir) {
     UsingDirectives.push_back(UDir);
   }
 
-  udir_iterator using_directives_begin() {
-    return UsingDirectives.begin();
-  }
-
-  udir_iterator using_directives_end() {
-    return UsingDirectives.end();
-  }
-
-  const_udir_iterator using_directives_begin() const {
-    return UsingDirectives.begin();
-  }
+  typedef llvm::iterator_range<UsingDirectivesTy::iterator>
+    using_directives_range;
 
-  const_udir_iterator using_directives_end() const {
-    return UsingDirectives.end();
+  using_directives_range using_directives() {
+    return using_directives_range(UsingDirectives.begin(),
+                                  UsingDirectives.end());
   }
 
   /// Init - This is used by the parser to implement scope caching.
index 3adea40387dde7629f65278065d278dd38bb6f1e..29671aa65d4d31495fd0e6c4cbaefd7e6ca05acd 100644 (file)
@@ -113,10 +113,8 @@ namespace {
         if (Ctx && Ctx->isFileContext()) {
           visit(Ctx, Ctx);
         } else if (!Ctx || Ctx->isFunctionOrMethod()) {
-          Scope::udir_iterator I = S->using_directives_begin(),
-                             End = S->using_directives_end();
-          for (; I != End; ++I)
-            visit(*I, InnermostFileDC);
+          for (auto *I : S->using_directives())
+            visit(I, InnermostFileDC);
         }
       }
     }