- std::vector<kernel::actor::ProcessArg*> actors_at_boot_;
- s4u::Host* piface_ = nullptr; // we must have a pointer there because the VM wants to change the piface in its ctor
- std::map<std::string, kernel::resource::StorageImpl*, std::less<>> storage_;
- std::vector<kernel::resource::DiskImpl*> disks_;
+ using ActorList =
+ boost::intrusive::list<actor::ActorImpl,
+ boost::intrusive::member_hook<actor::ActorImpl, boost::intrusive::list_member_hook<>,
+ &actor::ActorImpl::host_actor_list_hook>>;
+
+ ActorList actor_list_;
+ std::vector<actor::ProcessArg*> actors_at_boot_;
+ s4u::Host piface_;
+ std::map<std::string, DiskImpl*, std::less<>> disks_;
+ xbt::string name_{"noname"};
+ bool sealed_ = false;
+
+protected:
+ virtual ~HostImpl(); // Use destroy() instead of this destructor.
+ HostImpl(const std::string& name, s4u::Host* piface);