00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef ATTRIBUTEGROUP_H
00022
00023 #define ATTRIBUTEGROUP_H
00024
00025
00026
00027 #include <list>
00028 #include <schemaparser/Schema.h>
00029 #include <schemaparser/Attribute.h>
00030
00031 class AttributeGroup
00032 {
00033 public:
00034 AttributeGroup();
00035 AttributeGroup(const string & n);
00036 void addAttribute(const Attribute& a);
00037 string getName()const;
00038 list<Attribute>::iterator begin();
00039 list<Attribute>::iterator end();
00040
00041 private:
00042 list<Attribute> att_list;
00043 string name;
00044
00045 };
00046
00047 inline
00048 AttributeGroup::AttributeGroup(const string & n)
00049 :name(n)
00050 {
00051 att_list.clear();
00052 }
00053
00054 inline
00055 void
00056 AttributeGroup::addAttribute(const Attribute& a)
00057 {
00058 att_list.push_back(a);
00059 }
00060
00061 inline
00062 list<Attribute>::iterator
00063 AttributeGroup::begin()
00064 {
00065 return att_list.begin();
00066 }
00067
00068 inline
00069 list<Attribute>::iterator
00070 AttributeGroup::end()
00071 {
00072 return att_list.end();
00073 }
00074
00075 inline
00076 string
00077 AttributeGroup::getName()const
00078 {
00079 return name;
00080 }
00081
00082 #endif // ATTRIBUTEGROUP_H