X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/98bbaf42bf16cc40faee7ddca28c0369144f3d95..57970de8f4fd548711e2cea76502ba692595fa4a:/src/smpi/smpi_group.hpp diff --git a/src/smpi/smpi_group.hpp b/src/smpi/smpi_group.hpp index cdc736253c..aa01f3c318 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 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); ~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); + }; } }