diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2008-08-08 13:54:06 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2008-08-08 13:54:06 +0000 |
commit | afebac1df82d16d6889470801e82501d714149c0 (patch) | |
tree | 78347f0140dc8d90bddf467c5f774613a991c888 | |
parent | fef35f1ce99765670482124e2bd640bbe7a20a4f (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.h | 22 |
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. |