}
auto* comm = dynamic_cast<simgrid::s4u::Comm*>(a.get());
if (comm != nullptr) {
- auto pred = dynamic_cast<simgrid::s4u::Exec*>(comm->get_parent().get());
- auto succ = dynamic_cast<simgrid::s4u::Exec*>(comm->get_child().get());
+ auto pred = dynamic_cast<simgrid::s4u::Exec*>((*comm->get_dependencies().begin()).get());
+ auto succ = dynamic_cast<simgrid::s4u::Exec*>(comm->get_successors().front().get());
comm->set_source(pred->get_host())->set_destination(succ->get_host());
}
}
virtual bool is_assigned() const = 0;
virtual bool dependencies_solved() const { return dependencies_.empty(); }
virtual unsigned long is_waited_by() const { return successors_.size(); }
- ActivityPtr get_parent() { return *(dependencies_.begin()); }
- ActivityPtr get_child() { return successors_.front(); }
+ const std::set<ActivityPtr>& get_dependencies() const { return dependencies_; }
+ const std::vector<ActivityPtr>& get_successors() const { return successors_; }
protected:
Activity() = default;