-/* 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
#include "private.h"
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);
~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);
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);
+
};
}
}