namespace tree
{
- /**
- * \ingroup Model
+ /**
+ * \ingroup Tree
*/
//=====================================================================
- /// Descriptor of a level of a tree (name, attributes, ...)
+ /// Descriptor of a level of a Tree (name, attributes, ...)
class LevelDescriptor
{
public:
unsigned int GetNumberOfAttributes()
{ return mAttributeDescriptorList.size(); }
+ /// Adds the AttributeDescriptor to the list
+ /// WARNING : You MUST use this method and NOT push_back directly in list
+ /// ad IdentifierList and LabelList are also updated
+ void Add(AttributeDescriptor);
+
/// The type of attribute container
typedef std::vector<AttributeDescriptor> AttributeDescriptorListType;
/// Returns the list of AttributeDescriptor
- AttributeDescriptorListType& GetAttributeDescriptorList()
- { return mAttributeDescriptorList; }
+ //AttributeDescriptorListType& GetAttributeDescriptorList()
+ //{ return mAttributeDescriptorList; }
/// Returns the list of AttributeDescriptor (const)
const AttributeDescriptorListType& GetAttributeDescriptorList() const
{ return mAttributeDescriptorList; }
+ /// \return The list of attributes with flag IDENTIFIER set
+ const std::vector<std::string>& GetIdentifierList() const
+ { return mIdentifierList; }
+ /// \return The list of attributes with flag LABEL set
+ const std::vector<std::string>& GetLabelList() const
+ { return mLabelList; }
+
private:
std::string mName;
AttributeDescriptorListType mAttributeDescriptorList;
-
+ /// The list of attributes with flag IDENTIFIER set
+ std::vector<std::string> mIdentifierList;
+ /// The list of attributes with flag LABEL set
+ std::vector<std::string> mLabelList;
};
// EO class LevelDescriptor