blob: d555dffbb8d2653e1066fb825d51cdec01b0cddf [file] [log] [blame]
#ifndef BASYX_SUBMODEL_MAP_V2_PARTS_CONCEPTDICTIONARY_H
#define BASYX_SUBMODEL_MAP_V2_PARTS_CONCEPTDICTIONARY_H
#include <BaSyx/submodel/api_v2/parts/IConceptDictionary.h>
#include <BaSyx/submodel/map_v2/qualifier/Referable.h>
#include <BaSyx/submodel/map_v2/common/ElementContainer.h>
#include <BaSyx/vab/ElementMap.h>
#include <BaSyx/submodel/map_v2/parts/ConceptDescription.h>
namespace basyx {
namespace submodel {
namespace map {
class ConceptDictionary
: public api::IConceptDictionary
, public virtual Referable
, public virtual vab::ElementMap
{
public:
struct Path {
static constexpr char ConceptDescriptions[] = "conceptDescriptions";
};
private:
ElementContainer<api::IConceptDescription> concept_descriptions;
public:
ConceptDictionary(const std::string & idShort);
//inherited via IConceptDictionary
const api::IElementContainer<api::IConceptDescription> & getConceptDescriptions() const override;
// not inherited
void addConceptDescription(std::unique_ptr<ConceptDescription> description);
virtual KeyElements getKeyElementType() const override { return KeyElements::ConceptDictionary; };
};
}
}
}
#endif /* BASYX_SUBMODEL_MAP_V2_PARTS_CONCEPTDICTIONARY_H */