Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[sonar] Declare functions "const" in src/instr/.
[simgrid.git] / src / instr / instr_paje_types.hpp
index 7d9fa60..e23ddc2 100644 (file)
@@ -21,22 +21,26 @@ class Type {
   std::string name_;
   std::string color_;
   Type* father_;
+  std::map<std::string, std::unique_ptr<Type>> children_;
+  Container* issuer_ = nullptr;
+
+protected:
+  Container* get_issuer() const { return issuer_; }
 
 public:
   static xbt::signal<void(Type&, e_event_type event_type)> on_creation;
-  std::map<std::string, std::unique_ptr<Type>> children_;
-  Container* issuer_ = nullptr;
 
   Type(e_event_type event_type, const std::string& name, const std::string& alias, const std::string& color,
        Type* father);
   virtual ~Type() = default;
 
-  long long int get_id() { return id_; }
+  long long int get_id() const { return id_; }
   const std::string& get_name() const { return name_; }
-  const char* get_cname() { return name_.c_str(); }
+  const char* get_cname() const { return name_.c_str(); }
   const std::string& get_color() const { return color_; }
   Type* get_father() const { return father_; }
-  bool is_colored() { return not color_.empty(); }
+  const std::map<std::string, std::unique_ptr<Type>>& get_children() const { return children_; }
+  bool is_colored() const { return not color_.empty(); }
 
   Type* by_name(const std::string& name);
   LinkType* by_name_or_create(const std::string& name, Type* source, Type* dest);