Motorcortex Core  version: 2.7.6
cm_param_itr.h
1 /*
2  * Developer : Alexey Zakharov (alexey.zakharov@vectioneer.com)
3  * All rights reserved. Copyright (c) 2018 VECTIONEER.
4  */
5 
6 #ifndef MOTORCORTEX_CORE_CM_PARAMITR_H
7 #define MOTORCORTEX_CORE_CM_PARAMITR_H
8 
9 #include "ps_iterator.h"
10 #include "ps_types.h"
11 
12 #include <vector>
13 #include <cstdint>
14 
15 namespace mcx::comm {
16 
18 public:
19 
20  ParamItr(std::vector<parameter_server::Parameter*>* param_list, parameter_server::UserGroup user_group_id);
21 
22  virtual ~ParamItr() = default;
23 
24  void iterate(parameter_server::Parameter* root) override;
25 
26  uint32_t hash();
27 
28 private:
29 
30  void hook(parameter_server::Parameter* param);
31 
32  std::vector<parameter_server::Parameter*>* param_list_;
33  parameter_server::UserGroup user_group_id_{};
34  uint32_t hash_{};
35 
36 };
37 
38 } // namespace mcx::comm
39 
40 #endif //MOTORCORTEX_CORE_CM_PARAMITR_H
mcx::parameter_server::Parameter
Definition: ps_parameter.h:45
mcx::comm::ParamItr
Definition: cm_param_itr.h:17
mcx::parameter_server::Iterator
Definition: ps_iterator.h:15