static container_t rootContainer = nullptr; /* the root container */
static xbt_dict_t allContainers = nullptr; /* all created containers indexed by name */
-xbt_dict_t trivaNodeTypes = nullptr; /* all host types defined */
-xbt_dict_t trivaEdgeTypes = nullptr; /* all link types defined */
+std::set<std::string> trivaNodeTypes; /* all host types defined */
+std::set<std::string> trivaEdgeTypes; /* all link types defined */
long long int instr_new_paje_id ()
{
void PJ_container_alloc ()
{
allContainers = xbt_dict_new_homogeneous(nullptr);
- trivaNodeTypes = xbt_dict_new_homogeneous(xbt_free_f);
- trivaEdgeTypes = xbt_dict_new_homogeneous(xbt_free_f);
}
void PJ_container_release ()
{
xbt_dict_free (&allContainers);
- xbt_dict_free (&trivaNodeTypes);
- xbt_dict_free (&trivaEdgeTypes);
}
void PJ_container_set_root (container_t root)
char as_typename[INSTR_DEFAULT_STR_SIZE];
snprintf (as_typename, INSTR_DEFAULT_STR_SIZE, "L%d", newContainer->level);
if (newContainer->father){
- newContainer->type = PJ_type_get_or_null (as_typename, newContainer->father->type);
+ newContainer->type = s_type::getOrNull (as_typename, newContainer->father->type);
if (newContainer->type == nullptr){
- newContainer->type = PJ_type_container_new (as_typename, newContainer->father->type);
+ newContainer->type = s_type::containerNew (as_typename, newContainer->father->type);
}
}else{
- newContainer->type = PJ_type_container_new ("0", nullptr);
+ newContainer->type = s_type::containerNew ("0", nullptr);
}
}else{
//otherwise, the name is its kind
THROWF (tracing_error, 0, "new container kind is unknown.");
break;
}
- type_t type = PJ_type_get_or_null (typeNameBuff, newContainer->father->type);
+ type_t type = s_type::getOrNull (typeNameBuff, newContainer->father->type);
if (type == nullptr){
- newContainer->type = PJ_type_container_new (typeNameBuff, newContainer->father->type);
+ newContainer->type = s_type::containerNew (typeNameBuff, newContainer->father->type);
}else{
newContainer->type = type;
}
//register NODE types for triva configuration
if (newContainer->kind == INSTR_HOST || newContainer->kind == INSTR_LINK || newContainer->kind == INSTR_ROUTER) {
- xbt_dict_set (trivaNodeTypes, newContainer->type->name, xbt_strdup("1"), nullptr);
+ trivaNodeTypes.insert(newContainer->type->name);
}
return newContainer;
}