Motorcortex Core  version: 2.7.6
sg_signalidgroup.h
1 /*
2  * Developer : Alexey Zakharov (alexey.zakharov@vectioneer.com)
3  * All rights reserved. Copyright (c) 2018 VECTIONEER.
4  */
5 
6 #ifndef SG_SIGNALIDGROUP_H
7 #define SG_SIGNALIDGROUP_H
8 
9 #include "sg_signalid.h"
10 
11 #include <vector>
12 
13 namespace mcx {
14 
15 namespace signal_monitor {
16 
17 using SignalIdVector = typename std::vector<SignalId>;
18 using SignalIdVectorIterator = typename SignalIdVector::const_iterator;
19 
21 public:
22 
23  SignalIdGroup();
24 
25  SignalIdGroup(const SignalId& id);
26 
27  SignalIdGroup(const std::initializer_list<SignalId>& id_list);
28 
29  SignalIdGroup(const SignalIdGroup& id_list);
30 
31  void add(const SignalId& id);
32 
33  void add(const std::initializer_list<SignalId>& id_list);
34 
35  SignalIdVectorIterator erase(const SignalIdVector::const_iterator& pos);
36 
37  SignalIdVectorIterator begin() const;
38 
39  SignalIdVectorIterator end() const;
40 
41 private:
42  std::vector<SignalId> signals_;
43 };
44 
45 } // namespace signal_monitor
46 
47 } // namespace mcx
48 
49 #endif /* SG_SIGNALIDGROUP_H */
50 
mcx::signal_monitor::SignalId
Definition: sg_signalid.h:25
mcx::signal_monitor::SignalIdGroup
Definition: sg_signalidgroup.h:20