14 #ifndef _ATTRIBUTES_DESCRIPTION_H_
15 #define _ATTRIBUTES_DESCRIPTION_H_
54 attributesListIter = attributesList.begin();
57 while (attributesListIter != attributesList.end())
60 if (*attributesListIter !=
null)
63 delete *attributesListIter;
64 *attributesListIter =
null;
98 attributesList.push_back(pAttribute);
99 attributesMap[pAttribute->
getName()] = pAttribute;
109 inline bool hasAnyAttributes()
const
111 return !attributesList.empty();
119 inline unsigned int attributesCount()
const
121 return attributesList.size();
131 inline bool containsAttribute(
const string& strName)
const
133 return (attributesMap.find(strName) != attributesMap.end());
143 inline const Attribute* getAttributePtr(
const string& strName)
const
145 return attributesMap.find(strName)->second;
151 inline void startIteration()
153 attributesListIter = attributesList.begin();
167 inline bool hasNextAttribute()
const
169 return (attributesListIter != attributesList.end());
185 return *attributesListIter++;
191 list<Attribute*> attributesList;
192 map<string, const Attribute*> attributesMap;
195 list<Attribute*>::iterator attributesListIter;