ENH: add UPstream::subProcs() static method

- returns a range of `int` values that can be iterated across.
  For example,

      for (const int proci : Pstream::subProcs()) { ... }

  instead of

      for
      (
          int proci = Pstream::firstSlave();
          proci <= Pstream::lastSlave();
          ++proci
      )
      {
          ...
      }
This commit is contained in:
Mark Olesen
2020-09-28 11:57:40 +02:00
parent e18ff114a6
commit 5dc5ea928a
43 changed files with 140 additions and 398 deletions

View File

@ -58,24 +58,14 @@ Gather<T0>::Gather(const T0& localData, const bool redistribute)
*outIter = localData;
// Receive data
for
(
int proci = Pstream::firstSlave();
proci <= Pstream::lastSlave();
++proci
)
for (const int proci : Pstream::subProcs())
{
IPstream fromSlave(Pstream::commsTypes::scheduled, proci);
fromSlave >> *(++outIter);
}
// Send data
for
(
int proci = Pstream::firstSlave();
proci <= Pstream::lastSlave();
++proci
)
for (const int proci : Pstream::subProcs())
{
OPstream toSlave(Pstream::commsTypes::scheduled, proci);