Add iterator access to field members for RecordDecl.

llvm-svn: 54526
This commit is contained in:
Argyrios Kyrtzidis 2008-08-08 13:54:06 +00:00
parent 28f65e9105
commit cd5f3bde80
1 changed files with 22 additions and 0 deletions
clang/include/clang/AST

View File

@ -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.