18#ifndef _RBTPARAMHANDLER_H_
19#define _RBTPARAMHANDLER_H_
21#include "rxdock/Config.h"
22#include "rxdock/Variant.h"
24#include <nlohmann/json.hpp>
26using json = nlohmann::json;
36 friend void to_json(json &j,
const ParamHandler ¶mHandler);
37 friend void from_json(
const json &j,
ParamHandler ¶mHandler);
43 unsigned int GetNumParameters()
const;
45 Variant GetParameter(
const std::string &strName)
const;
47 bool isParameterValid(
const std::string &strName)
const;
49 std::vector<std::string> GetParameterNames()
const;
51 StringVariantMap GetParameters()
const;
54 RBTDLL_EXPORT
void SetParameter(
const std::string &strName,
59 virtual void Print(std::ostream &s)
const;
68 void AddParameter(
const std::string &strName,
const Variant &vValue);
69 void DeleteParameter(
const std::string &strName);
70 void ClearParameters();
76 virtual void ParameterUpdated(
const std::string &strName) {}
96 StringVariantMap m_parameters;
100void from_json(
const json &j,
ParamHandler ¶mHandler);
106RBTDLL_EXPORT std::ostream &operator<<(std::ostream &s,
const ParamHandler &ph);
Definition ParamHandler.h:30