Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Further cleanups in SMPI includes
[simgrid.git] / src / smpi / smpi_group.hpp
index f7c2572..aa01f3c 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{
 
-class Group {
+class Group : public F2C{
   private:
     int size_;
     int *rank_to_index_map_;
     xbt_dict_t index_to_rank_map_;
     int refcount_;
   public:
-
     Group();
     Group(int size);
     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);
+
 };
 }
 }