You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.2 KiB
51 lines
1.2 KiB
|
7 months ago
|
/*
|
||
|
|
* Copyright 2023 Ingemar Hedvall
|
||
|
|
* SPDX-License-Identifier: MIT
|
||
|
|
*/
|
||
|
|
|
||
|
|
#pragma once
|
||
|
|
#include <map>
|
||
|
|
#include <memory>
|
||
|
|
#include <string>
|
||
|
|
#include <vector>
|
||
|
|
|
||
|
|
#include "a2l/a2lobject.h"
|
||
|
|
|
||
|
|
|
||
|
|
namespace a2l {
|
||
|
|
class Group : public A2lObject {
|
||
|
|
public:
|
||
|
|
void Root(bool root) { root_ = root; }
|
||
|
|
[[nodiscard]] bool Root() const { return root_; }
|
||
|
|
|
||
|
|
void RefCharacteristics(const std::vector<std::string>& list) {
|
||
|
|
ref_characteristic_list_ = list;
|
||
|
|
}
|
||
|
|
[[nodiscard]] const std::vector<std::string>& RefCharacteristics() const {
|
||
|
|
return ref_characteristic_list_;
|
||
|
|
}
|
||
|
|
|
||
|
|
void RefMeasurements(const std::vector<std::string>& list) {
|
||
|
|
ref_measurement_list_ = list;
|
||
|
|
}
|
||
|
|
[[nodiscard]] const std::vector<std::string>& RefMeasurements() const {
|
||
|
|
return ref_measurement_list_;
|
||
|
|
}
|
||
|
|
|
||
|
|
void SubGroups(const std::vector<std::string>& list) {
|
||
|
|
sub_group_list_ = list;
|
||
|
|
}
|
||
|
|
[[nodiscard]] const std::vector<std::string>& SubGroups() const {
|
||
|
|
return sub_group_list_;
|
||
|
|
}
|
||
|
|
private:
|
||
|
|
bool root_ = false;
|
||
|
|
std::vector<std::string> ref_characteristic_list_;
|
||
|
|
std::vector<std::string> ref_measurement_list_;
|
||
|
|
std::vector<std::string> sub_group_list_;
|
||
|
|
};
|
||
|
|
|
||
|
|
using GroupList = std::map<std::string, std::unique_ptr<Group>>;
|
||
|
|
|
||
|
|
} // end namespace a2l
|