hce-node application  1.4.3
HCE Hierarchical Cluster Engine node application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
DRCEStatVariablesConverter.hpp
Go to the documentation of this file.
1 
14 #ifndef DRCE_STAT_VARIABLES_CONVERTER_HPP
15 #define DRCE_STAT_VARIABLES_CONVERTER_HPP
16 
17 #include <map>
18 #include <Poco/Dynamic/Var.h>
19 
20 #include "DRCEStatVariables.hpp"
21 
22 namespace HCE
23 {
24 namespace drce
25 {
26 //-----------------------------------------------------------------------------
28 {
29 public:
30  typedef std::map<std::string, Poco::Dynamic::Var> Dictionary;
31 
33  explicit StatVariablesConverter(const StatVariables& rhs);
34  explicit StatVariablesConverter(const Dictionary& rhs);
35 
36  StatVariables toObject(void) const {return statVariables;}
38 
39  void fromObject(const StatVariables& rhs);
40  void fromDictionary(const Dictionary& rhs);
41 private:
42  template <typename T> void toDictionary(const std::string& key, const StatVariableData<T>& data, Dictionary& dic);
43  template <typename T> void fromDictionary(const std::string& key, StatVariableData<T>& data, const Dictionary& dic);
44 
45  static void toDictionary(const std::string& key, const size_t& value, Dictionary& dic);
46  static void fromDictionary(const std::string& key, size_t& value, const Dictionary& dic);
47 private:
48  StatVariables statVariables;
49 };
50 //-----------------------------------------------------------------------------
51 //-----------------------------------------------------------------------------
52 } // end namespace drce
53 } // end namespace HCE
54 
55 #endif // DRCE_STAT_VARIABLES_CONVERTER_HPP