Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
cosmetics to please codacy
[simgrid.git] / src / smpi / smpi_group.hpp
index 466d7c2..9c40f5e 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010, 2013-2015. The SimGrid Team.
+/* Copyright (c) 2010, 2013-2017. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -7,30 +7,28 @@
 #ifndef SMPI_GROUP_HPP_INCLUDED
 #define SMPI_GROUP_HPP_INCLUDED
 
-#include "private.h"
+#include "src/smpi/smpi_f2c.hpp"
 
 namespace simgrid{
-namespace SMPI{
+namespace smpi{
 
-class Group {
+class Group : public F2C{
   private:
-    int m_size;
-    int *m_rank_to_index_map;
-    xbt_dict_t m_index_to_rank_map;
-    int m_refcount;
+    int size_;
+    int *rank_to_index_map_;
+    xbt_dict_t index_to_rank_map_;
+    int refcount_;
   public:
-
-    Group();
-    Group(int size);
-    Group(Group* origin);
+    explicit Group();
+    explicit Group(int size);
+    explicit Group(Group* origin);
     ~Group();
 
-    void destroy();
     void set_mapping(int index, int rank);
     int index(int rank);
     int rank(int index);
-    int use();
-    int unuse();
+    void ref();
+    static void unref(MPI_Group group);
     int size();
     int compare(MPI_Group group2);
     int incl(int n, int* ranks, MPI_Group* newgroup);
@@ -40,6 +38,9 @@ class Group {
     int difference(MPI_Group group2, MPI_Group* newgroup);
     int range_incl(int n, int ranges[][3], MPI_Group * newgroup);
     int range_excl(int n, int ranges[][3], MPI_Group * newgroup);
+
+    static Group* f2c(int id);
+
 };
 }
 }