]> granicus.if.org Git - clang/commitdiff
[C++11] Replacing CapturedStmt iterators capture_init_begin() and capture_init_end...
authorAaron Ballman <aaron@aaronballman.com>
Fri, 14 Mar 2014 19:41:04 +0000 (19:41 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Fri, 14 Mar 2014 19:41:04 +0000 (19:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203959 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/Stmt.h
lib/Serialization/ASTWriterStmt.cpp

index e71a4999b6df4051de43a1bc2e43c91443ca8c0b..d1fb0640fc62a3b722b9ad95b9d365da469effae 100644 (file)
@@ -2073,6 +2073,11 @@ public:
 
   /// \brief Iterator that walks over the capture initialization arguments.
   typedef Expr **capture_init_iterator;
+  typedef llvm::iterator_range<capture_init_iterator> capture_init_range;
+
+  capture_init_range capture_inits() const {
+    return capture_init_range(capture_init_begin(), capture_init_end());
+  }
 
   /// \brief Retrieve the first initialization argument.
   capture_init_iterator capture_init_begin() const {
index 17de845d3bb6487773723c99e6bfedc7f3b23483..05cbb5bd48855b005ccddbea584823199a5635ca 100644 (file)
@@ -300,10 +300,8 @@ void ASTStmtWriter::VisitCapturedStmt(CapturedStmt *S) {
   Writer.AddDeclRef(S->getCapturedRecordDecl(), Record);
 
   // Capture inits
-  for (CapturedStmt::capture_init_iterator I = S->capture_init_begin(),
-                                           E = S->capture_init_end();
-       I != E; ++I)
-    Writer.AddStmt(*I);
+  for (auto *I : S->capture_inits())
+    Writer.AddStmt(I);
 
   // Body
   Writer.AddStmt(S->getCapturedStmt());