- XBT_DEBUG("removeChildContainer (%s) FromContainer (%s) ", child->name_, parent->name_);
- xbt_dict_remove(parent->children_, child->name_);
- }
-}
-
-static void recursiveDestroyContainer (container_t container)
-{
- if (container == nullptr){
- THROWF (tracing_error, 0, "trying to recursively destroy a nullptr container");
- }
- XBT_DEBUG("recursiveDestroyContainer %s", container->name_);
- xbt_dict_cursor_t cursor = nullptr;
- container_t child;
- char *child_name;
- xbt_dict_foreach (container->children_, cursor, child_name, child) {
- recursiveDestroyContainer (child);
- }
- delete container;
-}
-
-void PJ_container_free_all ()
-{
- container_t root = PJ_container_get_root();
- if (root == nullptr){
- THROWF (tracing_error, 0, "trying to free all containers, but root is nullptr");
- }
- recursiveDestroyContainer (root);
- rootContainer = nullptr;
-
- //checks
- if (not xbt_dict_is_empty(allContainers)) {
- THROWF(tracing_error, 0, "some containers still present even after destroying all of them");
+ XBT_DEBUG("removeChildContainer (%s) FromContainer (%s) ", child->name_.c_str(), parent->name_.c_str());
+ parent->children_.erase(child->name_);