+ void turn_on() const;
+ void turn_off(const kernel::actor::ActorImpl* issuer);
+ std::vector<s4u::ActorPtr> get_all_actors();
+ size_t get_actor_count() const;
+ void add_actor(kernel::actor::ActorImpl* actor) { actor_list_.push_back(*actor); }
+ void remove_actor(kernel::actor::ActorImpl* actor) { xbt::intrusive_erase(actor_list_, *actor); }
+ void add_actor_at_boot(kernel::actor::ProcessArg* arg) { actors_at_boot_.emplace_back(arg); }
+
+ void seal();
+
+ template <class F> void foreach_actor(F function)
+ {
+ for (auto& actor : actor_list_)
+ function(actor);
+ }
+};
+} // namespace surf
+} // namespace simgrid