static xbt::signal<void(NetZone const&)> on_seal;
};
+// External constructors so that the types (and the types of their content) remain hidden
+XBT_PUBLIC NetZone* createFullZone(const std::string& name);
+XBT_PUBLIC NetZone* createClusterZone(const std::string& name);
+XBT_PUBLIC NetZone* createDijkstraZone(const std::string& name, bool cache);
+XBT_PUBLIC NetZone* createDragonflyZone(const std::string& name);
+XBT_PUBLIC NetZone* createEmptyZone(const std::string& name);
+XBT_PUBLIC NetZone* createFatTreeZone(const std::string& name);
+XBT_PUBLIC NetZone* createFloydZone(const std::string& name);
+XBT_PUBLIC NetZone* createTorusZone(const std::string& name);
+XBT_PUBLIC NetZone* createVivaldiZone(const std::string& name);
+XBT_PUBLIC NetZone* createWifiZone(const std::string& name);
+
} // namespace s4u
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createClusterZone(const std::string& name)
+{
+ return (new kernel::routing::ClusterZone(name))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createDijkstraZone(const std::string& name, bool cache)
+{
+ return (new kernel::routing::DijkstraZone(name, cache))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createDragonflyZone(const std::string& name)
+{
+ return (new kernel::routing::DragonflyZone(name))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createEmptyZone(const std::string& name)
+{
+ return (new kernel::routing::EmptyZone(name))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createFatTreeZone(const std::string& name)
+{
+ return (new kernel::routing::FatTreeZone(name))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createFloydZone(const std::string& name)
+{
+ return (new kernel::routing::FloydZone(name))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createFullZone(const std::string& name)
+{
+ return (new kernel::routing::FullZone(name))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createTorusZone(const std::string& name)
+{
+ return (new kernel::routing::TorusZone(name))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createVivaldiZone(const std::string& name)
+{
+ return (new kernel::routing::VivaldiZone(name))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid
}
} // namespace routing
} // namespace kernel
+
+namespace s4u {
+NetZone* createWifiZone(const std::string& name)
+{
+ return (new kernel::routing::WifiZone(name))->get_iface();
+}
+} // namespace s4u
+
} // namespace simgrid