blob: 100ae688f0d04c86dac7e36ea9e27c9e4b286f9d [file] [log] [blame]
Brad Bishop26b815f2017-01-04 13:32:47 -05001#pragma once
Patrick Williams3667cf32015-10-20 22:39:11 -05002
3#include <map>
4#include <set>
5#include <string>
6
7class SensorSet
8{
9 public:
10 typedef std::map<std::pair<std::string, std::string>,
Brad Bishop6bb97a92016-12-19 13:06:40 -050011 std::set<std::string>> container_t;
Brad Bishop75017ae2017-01-05 12:07:04 -050012 using mapped_type = container_t::mapped_type;
13 using key_type = container_t::key_type;
Patrick Williams3667cf32015-10-20 22:39:11 -050014
Brad Bishop92bbd052017-01-05 06:53:02 -050015 explicit SensorSet(const std::string& path);
16 ~SensorSet() = default;
17 SensorSet() = delete;
18 SensorSet(const SensorSet&) = delete;
19 SensorSet& operator=(const SensorSet&) = delete;
20 SensorSet(SensorSet&&) = default;
21 SensorSet& operator=(SensorSet&&) = default;
Patrick Williams3667cf32015-10-20 22:39:11 -050022
23 container_t::const_iterator begin()
24 {
25 return const_cast<const container_t&>(container).begin();
26 }
27
28 container_t::const_iterator end()
29 {
30 return const_cast<const container_t&>(container).end();
31 }
32
33 private:
34 container_t container;
35
36};
37
Brad Bishop03476f12016-12-19 13:09:12 -050038// vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4