#ifndef __creaImageIOTreeLevelDescriptor_h_INCLUDED__ #define __creaImageIOTreeLevelDescriptor_h_INCLUDED__ #include #include namespace creaImageIO { namespace tree { /** * \ingroup Tree */ //===================================================================== /// Descriptor of a level of a Tree (name, attributes, ...) class LevelDescriptor { public: /// Ctor with name LevelDescriptor(const std::string& name) : mName(name) {} /// Destructor ~LevelDescriptor() {} /// Returns the name of the level const std::string& GetName() const { return mName; } /// Returns the number of attributes of the level unsigned int GetNumberOfAttributes() const { return mAttributeDescriptorList.size(); } /// Adds the AttributeDescriptor to the list void Add(const AttributeDescriptor&); /// The type of attribute container typedef std::vector AttributeDescriptorListType; /// Returns the list of AttributeDescriptor (const) const AttributeDescriptorListType& GetAttributeDescriptorList() const { return mAttributeDescriptorList; } /// \return The list of attributes with flag IDENTIFIER set const std::vector& GetIdentifierList() const { return mIdentifierList; } /// \return The list of attributes with flag LABEL set const std::vector& GetLabelList() const { return mLabelList; } private: std::string mName; AttributeDescriptorListType mAttributeDescriptorList; /// The list of attributes with flag IDENTIFIER set std::vector mIdentifierList; /// The list of attributes with flag LABEL set std::vector mLabelList; }; // EO class LevelDescriptor //===================================================================== }// EO namespace tree } // EO namespace creaImageIO // EOF #endif