Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Declare functions "const" in src/kernel/.
[simgrid.git] / include / simgrid / kernel / routing / FatTreeZone.hpp
index 01a560e..683bd1f 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2014-2018. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2014-2020. 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. */
@@ -51,7 +51,7 @@ public:
    * instead of passing by an upper level switch.
    */
   resource::LinkImpl* loopback;
-  FatTreeNode(ClusterCreationArgs* cluster, int id, int level, int position);
+  FatTreeNode(const ClusterCreationArgs* cluster, int id, int level, int position);
 };
 
 /** @brief Link in a fat tree (@ref FatTreeZone).
@@ -61,7 +61,7 @@ public:
  */
 class FatTreeLink {
 public:
-  FatTreeLink(ClusterCreationArgs* cluster, FatTreeNode* source, FatTreeNode* destination);
+  FatTreeLink(const ClusterCreationArgs* cluster, FatTreeNode* source, FatTreeNode* destination);
   /** Link going up in the tree */
   resource::LinkImpl* up_link_;
   /** Link going down in the tree */
@@ -98,7 +98,9 @@ public:
  */
 class XBT_PRIVATE FatTreeZone : public ClusterZone {
 public:
-  explicit FatTreeZone(NetZoneImpl* father, std::string name, resource::NetworkModel* netmodel);
+  explicit FatTreeZone(NetZoneImpl* father, const std::string& name, resource::NetworkModel* netmodel);
+  FatTreeZone(const FatTreeZone&) = delete;
+  FatTreeZone& operator=(const FatTreeZone&) = delete;
   ~FatTreeZone() override;
   void get_local_route(NetPoint* src, NetPoint* dst, RouteCreationArgs* into, double* latency) override;
 
@@ -136,8 +138,8 @@ private:
   void generate_labels();
   void generate_switches();
   int connect_node_to_parents(FatTreeNode* node);
-  bool are_related(FatTreeNode* parent, FatTreeNode* child);
-  bool is_in_sub_tree(FatTreeNode* root, FatTreeNode* node);
+  bool are_related(FatTreeNode* parent, FatTreeNode* child) const;
+  bool is_in_sub_tree(FatTreeNode* root, FatTreeNode* node) const;
 };
 } // namespace routing
 } // namespace kernel