+struct Config {
+ xbt_dict_t options;
+
+ Config();
+ ~Config();
+
+ // No copy:
+ Config(Config const&) = delete;
+ Config& operator=(Config const&) = delete;
+};
+
+/* Internal stuff used in cache to free a variable */
+static void xbt_cfgelm_free(void *data)
+{
+ if (data)
+ delete (simgrid::config::ConfigurationElement*) data;
+}
+
+Config::Config() :
+ options(xbt_dict_new_homogeneous(xbt_cfgelm_free))
+{}
+
+Config::~Config()
+{
+ XBT_DEBUG("Frees cfg set %p", this);
+ xbt_dict_free(&this->options);
+}
+