aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2008-08-08 13:54:06 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2008-08-08 13:54:06 +0000
commitafebac1df82d16d6889470801e82501d714149c0 (patch)
tree78347f0140dc8d90bddf467c5f774613a991c888
parentfef35f1ce99765670482124e2bd640bbe7a20a4f (diff)
Add iterator access to field members for RecordDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54526 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/AST/Decl.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/clang/AST/Decl.h b/include/clang/AST/Decl.h
index cc512ce210..3b340393cf 100644
--- a/include/clang/AST/Decl.h
+++ b/include/clang/AST/Decl.h
@@ -823,6 +823,28 @@ public:
const FieldDecl *getMember(unsigned i) const { return Members[i]; }
FieldDecl *getMember(unsigned i) { return Members[i]; }
+ // Iterator access to field members.
+ typedef FieldDecl **field_iterator;
+ typedef FieldDecl * const *field_const_iterator;
+
+ field_iterator field_begin() {
+ assert(isDefinition() && "Not a definition!");
+ return Members;
+ }
+ field_iterator field_end() {
+ assert(isDefinition() && "Not a definition!");
+ return Members + getNumMembers();
+ }
+
+ field_const_iterator field_begin() const {
+ assert(isDefinition() && "Not a definition!");
+ return Members;
+ }
+ field_const_iterator field_end() const {
+ assert(isDefinition() && "Not a definition!");
+ return Members + getNumMembers();
+ }
+
/// defineBody - When created, RecordDecl's correspond to a forward declared
/// record. This method is used to mark the decl as being defined, with the
/// specified contents.