X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/29df986cd461330e1e590bd3bc9507a3d0ce2dc6..083e5bc3e59e935868789304e8bc5d906000a173:/src/smpi/smpi_group.hpp diff --git a/src/smpi/smpi_group.hpp b/src/smpi/smpi_group.hpp index f7c2572eee..461ea7fd73 100644 --- a/src/smpi/smpi_group.hpp +++ b/src/smpi/smpi_group.hpp @@ -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 @@ -12,25 +12,23 @@ 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); + }; } }