33 inline Group(
const Group& g) : pmpi_group(g.pmpi_group) { }
35 inline Group(
const PMPI::Group& g) : pmpi_group(g) { }
37 inline virtual ~
Group() {}
40 pmpi_group = g.pmpi_group;
return *
this;
44 inline bool operator== (
const Group &a) {
45 return (
bool)(pmpi_group == a.pmpi_group);
47 inline bool operator!= (
const Group &a) {
48 return (
bool)!(*
this == a);
52 Group& operator= (
const MPI_Group &i) { pmpi_group = i;
return *
this; }
53 inline operator MPI_Group ()
const {
return pmpi_group.mpi(); }
55 inline operator const PMPI::Group&()
const {
return pmpi_group; }
57 const PMPI::Group& pmpi() {
return pmpi_group; }
61 inline Group() : mpi_group(MPI_GROUP_NULL) { }
65 inline Group(
const Group& g) : mpi_group(g.mpi_group) { }
67 inline virtual ~
Group() {}
69 inline Group& operator=(
const Group& g) { mpi_group = g.mpi_group;
return *
this; }
72 inline bool operator== (
const Group &a) {
return (
bool)(mpi_group == a.mpi_group); }
73 inline bool operator!= (
const Group &a) {
return (
bool)!(*
this == a); }
76 inline Group& operator= (
const MPI_Group &i) { mpi_group = i;
return *
this; }
77 inline operator MPI_Group ()
const {
return mpi_group; }
80 inline MPI_Group mpi()
const {
return mpi_group; }
88 virtual int Get_size()
const;
90 virtual int Get_rank()
const;
92 static void Translate_ranks (
const Group& group1,
int n,
const int ranks1[],
93 const Group& group2,
int ranks2[]);
95 static int Compare(
const Group& group1,
const Group& group2);
103 virtual Group Incl(
int n,
const int ranks[])
const;
105 virtual Group Excl(
int n,
const int ranks[])
const;
107 virtual Group Range_incl(
int n,
const int ranges[][3])
const;
109 virtual Group Range_excl(
int n,
const int ranges[][3])
const;
120 PMPI::Group pmpi_group;
Group structure Currently we have four formats for storing the process pointers that are members of t...
Definition: group.h:79