Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add new entry in Release_Notes.
[simgrid.git] / src / smpi / include / smpi_info.hpp
index 9799a97..a64851b 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2009-2019. The SimGrid Team.
+/* Copyright (c) 2009-2023. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
 #include <string>
 #include <map>
 
-namespace simgrid{
-namespace smpi{
+namespace simgrid::smpi {
 
 class Info : public F2C{
-  std::map<std::string, std::string> map_;
+  std::map<std::string, std::string, std::less<>> map_;
   int refcount_ = 1;
 
 public:
-  Info() = default;
-  explicit Info(const Info* orig) : map_(orig->map_) {}
-  ~Info() = default;
+  explicit Info() {this->add_f();}
+  explicit Info(const Info* orig);
   void ref();
   static void unref(MPI_Info info);
   void set(const char* key, const char* value) { map_[key] = value; }
-  int get(const char* key, int valuelen, char* value, int* flag);
+  int get(const char* key, int valuelen, char* value, int* flag) const;
+  std::string name() const override { return "MPI_Info"; }
   int remove(const char* key);
-  int get_nkeys(int* nkeys);
-  int get_nthkey(int n, char* key);
-  int get_valuelen(const char* key, int* valuelen, int* flag);
+  int get_nkeys(int* nkeys) const;
+  int get_nthkey(int n, char* key) const;
+  int get_valuelen(const char* key, int* valuelen, int* flag) const;
   static Info* f2c(int id);
 };
 
-}
-}
+} // namespace simgrid::smpi
 
 #endif