Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make helper functions static members of NetZoneImpl.
[simgrid.git] / include / simgrid / kernel / routing / RoutedZone.hpp
index 55995aa..c086cea 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2019. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2013-2022. The SimGrid Team. All rights reserved.          */
 
 /* This program is free software; you can redistribute it and/or modify it
  * under the terms of the license (GNU LGPL) which comes with this package. */
@@ -15,7 +15,7 @@ namespace routing {
 /** @ingroup ROUTING_API
  *  @brief NetZone with an explicit routing (abstract class)
  *
- * This abstract class factorizes code between its subclasses: Full, Dijkstra and Floyd.
+ * This abstract class factors code between its subclasses: Full, Dijkstra and Floyd.
  *
  * <table>
  * <caption>Comparison of the RoutedZone subclasses</caption>
@@ -50,26 +50,20 @@ namespace routing {
 
 class XBT_PRIVATE RoutedZone : public NetZoneImpl {
 public:
-  explicit RoutedZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel);
+  explicit RoutedZone(const std::string& name);
 
-  void get_graph(xbt_graph_t graph, std::map<std::string, xbt_node_t>* nodes,
-                 std::map<std::string, xbt_edge_t>* edges) override;
+  void get_graph(const s_xbt_graph_t* graph, std::map<std::string, xbt_node_t, std::less<>>* nodes,
+                 std::map<std::string, xbt_edge_t, std::less<>>* edges) override;
 
 protected:
-  virtual RouteCreationArgs* new_extended_route(RoutingMode hierarchy, NetPoint* src, NetPoint* dst, NetPoint* gw_src,
-                                                NetPoint* gw_dst, std::vector<resource::LinkImpl*>& link_list,
-                                                bool symmetrical, bool change_order);
-  void get_route_check_params(NetPoint* src, NetPoint* dst);
+  Route* new_extended_route(RoutingMode hierarchy, NetPoint* gw_src, NetPoint* gw_dst,
+                            const std::vector<resource::StandardLinkImpl*>& link_list, bool preserve_order);
+  void get_route_check_params(const NetPoint* src, const NetPoint* dst) const;
   void add_route_check_params(NetPoint* src, NetPoint* dst, NetPoint* gw_src, NetPoint* gw_dst,
-                              std::vector<resource::LinkImpl*>& link_list, bool symmetrical);
+                              const std::vector<s4u::LinkInRoute>& link_list, bool symmetrical) const;
 };
 } // namespace routing
 } // namespace kernel
 } // namespace simgrid
 
-XBT_PRIVATE xbt_node_t new_xbt_graph_node(xbt_graph_t graph, const char* name,
-                                          std::map<std::string, xbt_node_t>* nodes);
-XBT_PRIVATE xbt_edge_t new_xbt_graph_edge(xbt_graph_t graph, xbt_node_t s, xbt_node_t d,
-                                          std::map<std::string, xbt_edge_t>* edges);
-
 #endif /* SIMGRID_ROUTING_GENERIC_HPP_ */