-/*
- * Allow the cluster tag to mess with the parsing buffer.
- * (this will probably become obsolete once the cluster tag do not mess with the parsing callbacks directly)
- */
-
-/* This buffer is used to store the original buffer before substituting it by out own buffer. Useful for the cluster tag */
-static xbt_dynar_t surfxml_bufferstack_stack = NULL;
-int surfxml_bufferstack_size = 2048;
-
-static char *old_buff = NULL;
-
-XBT_IMPORT_NO_EXPORT(unsigned int) surfxml_buffer_stack_stack_ptr;
-XBT_IMPORT_NO_EXPORT(unsigned int) surfxml_buffer_stack_stack[1024];
-
-void surfxml_bufferstack_push(int new_one)
-{
- if (!new_one)
- old_buff = surfxml_bufferstack;
- else {
- xbt_dynar_push(surfxml_bufferstack_stack, &surfxml_bufferstack);
- surfxml_bufferstack = xbt_new0(char, surfxml_bufferstack_size);
- }
-}
-
-void surfxml_bufferstack_pop(int new_one)
-{
- if (!new_one)
- surfxml_bufferstack = old_buff;
- else {
- free(surfxml_bufferstack);
- xbt_dynar_pop(surfxml_bufferstack_stack, &surfxml_bufferstack);
- }
-}
-
-/*
- * Trace related stuff
- */
-
-xbt_dict_t traces_set_list = NULL;
-XBT_PRIVATE xbt_dict_t trace_connect_list_host_avail = NULL;
-XBT_PRIVATE xbt_dict_t trace_connect_list_host_speed = NULL;
-XBT_PRIVATE xbt_dict_t trace_connect_list_link_avail = NULL;
-XBT_PRIVATE xbt_dict_t trace_connect_list_link_bw = NULL;
-XBT_PRIVATE xbt_dict_t trace_connect_list_link_lat = NULL;
+/* Trace related stuff */
+XBT_PRIVATE std::unordered_map<std::string, tmgr_trace_t> traces_set_list;
+XBT_PRIVATE std::unordered_map<std::string, std::string> trace_connect_list_host_avail;
+XBT_PRIVATE std::unordered_map<std::string, std::string> trace_connect_list_host_speed;
+XBT_PRIVATE std::unordered_map<std::string, std::string> trace_connect_list_link_avail;
+XBT_PRIVATE std::unordered_map<std::string, std::string> trace_connect_list_link_bw;
+XBT_PRIVATE std::unordered_map<std::string, std::string> trace_connect_list_link_lat;