X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0a93e4a39449acfaf3679a8ae852752e83230233..04cb8833befbe07b6b94ff0cae98bc17b78724e3:/src/smpi/smpi_group.hpp diff --git a/src/smpi/smpi_group.hpp b/src/smpi/smpi_group.hpp index f7c2572eee..9c40f5e530 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 @@ -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); + 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); + }; } }