17 bool DataContainer::set_data(
const std::string& category,
const std::string& key,
const std::string& value_data_type,
const std::string& value,
const bool log_with_info_level)
19 if (category.empty() || key.empty())
21 log_error(
"netlist",
"key category or key is empty.");
25 m_data[std::make_tuple(category, key)] = std::make_tuple(value_data_type, value);
29 if (log_with_info_level)
31 log_info(
"netlist",
"added {} data '{}' ({}, {}).", value_data_type, value, category, key);
35 log_debug(
"netlist",
"added {} data '{}' ({}, {}).", value_data_type, value, category, key);
43 if (category.empty() || key.empty())
45 log_error(
"netlist",
"key category or key is empty.");
49 auto it =
m_data.find(std::make_tuple(category, key));
52 log_debug(
"netlist",
"no key ('{}', '{}') found.", category, key);
56 auto deleted_value = std::get<1>(it->second);
61 if (log_with_info_level)
63 log_info(
"netlist",
"removed data '{}' ({}, {}).", deleted_value, category, key);
67 log_debug(
"netlist",
"removed data '{}' ({}, {}).", deleted_value, category, key);
84 if (category.empty() || key.empty())
89 if (
auto it =
m_data.find(std::make_tuple(category, key)); it ==
m_data.end())
99 if (category.empty() || key.empty())
101 log_error(
"netlist",
"key category or key is empty.");
102 return std::make_tuple(
"",
"");
105 auto it =
m_data.find(std::make_tuple(category, key));
108 log_debug(
"netlist",
"no value stored for key ('{}', '{}').", category, key);
109 return std::make_tuple(
"",
"");
const std::map< std::tuple< std::string, std::string >, std::tuple< std::string, std::string > > & get_data_map() const
bool operator==(const DataContainer &other) const
std::tuple< std::string, std::string > get_data(const std::string &category, const std::string &key) const
bool operator!=(const DataContainer &other) const
std::map< std::tuple< std::string, std::string >, std::tuple< std::string, std::string > > m_data
bool set_data(const std::string &category, const std::string &key, const std::string &data_type, const std::string &value, const bool log_with_info_level=false)
bool has_data(const std::string &category, const std::string &key) const
bool delete_data(const std::string &category, const std::string &key, const bool log_with_info_level=false)
void set_data_map(const std::map< std::tuple< std::string, std::string >, std::tuple< std::string, std::string >> &map)
#define log_error(channel,...)
#define log_debug(channel,...)
#define log_info(channel,...)