A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
[simgrid.git]
/
src
/
smpi
/
include
/
smpi_group.hpp
diff --git
a/src/smpi/include/smpi_group.hpp
b/src/smpi/include/smpi_group.hpp
index
ca6ad34
..
eb56ba4
100644
(file)
--- a/
src/smpi/include/smpi_group.hpp
+++ b/
src/smpi/include/smpi_group.hpp
@@
-1,4
+1,4
@@
-/* Copyright (c) 2010
, 2013-2017
. The SimGrid Team.
+/* Copyright (c) 2010
-2018
. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
@@
-9,6
+9,8
@@
#include "smpi_f2c.hpp"
#include <smpi/smpi.h>
#include "smpi_f2c.hpp"
#include <smpi/smpi.h>
+#include <map>
+#include <vector>
namespace simgrid{
namespace smpi{
namespace simgrid{
namespace smpi{
@@
-20,18
+22,20
@@
class Group : public F2C{
* std::map here, but looking up a value there costs O(log(n)).
* For a vector, this costs O(1). We hence go with the vector.
*/
* std::map here, but looking up a value there costs O(log(n)).
* For a vector, this costs O(1). We hence go with the vector.
*/
- std::vector<int> rank_to_index_map_;
- std::unordered_map<int, int> index_to_rank_map_;
+ std::vector<simgrid::s4u::ActorPtr> rank_to_actor_map_;
+ std::map<simgrid::s4u::ActorPtr, int> actor_to_rank_map_;
+ std::vector<int> index_to_rank_map_;
+
int refcount_;
public:
explicit Group();
explicit Group(int size);
explicit Group(Group* origin);
int refcount_;
public:
explicit Group();
explicit Group(int size);
explicit Group(Group* origin);
- ~Group();
- void set_mapping(int index, int rank);
- int index(int rank);
+ void set_mapping(simgrid::s4u::ActorPtr actor, int rank);
int rank(int index);
int rank(int index);
+ simgrid::s4u::ActorPtr actor(int rank);
+ int rank(const simgrid::s4u::ActorPtr process);
void ref();
static void unref(MPI_Group group);
int size();
void ref();
static void unref(MPI_Group group);
int size();