A process array is a set of processes organized in a multi-dimensional grid. A process array is described by a collective object [?] with local components of class Procs. The public interface of the Procs class is
class Dimension ; class DimensionSet ; class Coord ; class Group ; class Procs { public : Procs(const int _rank, int* _n, int* subIds = 0) ; ~Procs() ; int rnk() const ; Dimension dim(const int r) const ; DimensionSet dims() const ; int member() const ; int size() const ; int id() const ; int id_abs(const int id) const ; int lead_abs() const ; Group operator/(const Coord& i) const ; private : Procs() ; Procs(const Procs& p) ; ... } ;