/* * Copyright 2023 Ingemar Hedvall * SPDX-License-Identifier: MIT */ #pragma once #include "a2l/a2lobject.h" #include #include namespace a2l { class Group : public A2lObject { public: void Root(bool root) { root_ = root; } [[nodiscard]] bool Root() const { return root_; } void RefCharacteristics(const std::vector& list) { ref_characteristic_list_ = list; } [[nodiscard]] const std::vector& RefCharacteristics() const { return ref_characteristic_list_; } void RefMeasurements(const std::vector& list) { ref_measurement_list_ = list; } [[nodiscard]] const std::vector& RefMeasurements() const { return ref_measurement_list_; } void SubGroups(const std::vector& list) { sub_group_list_ = list; } [[nodiscard]] const std::vector& SubGroups() const { return sub_group_list_; } private: bool root_ = false; std::vector ref_characteristic_list_; std::vector ref_measurement_list_; std::vector sub_group_list_; }; using GroupList = std::map>; } // end namespace a2l