From 08efeb1a0350d37afd42e23c6efaa8ed9fe68ca2 Mon Sep 17 00:00:00 2001
From: Mark Olesen <Mark.Olesen@esi-group.com>
Date: Fri, 4 Dec 2020 09:20:10 +0100
Subject: [PATCH] ENH: define UPstream rangeType

- UPstream::rangeType as typedef for IntRange<int> for better use
  semantics
---
 src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H | 21 +++++++++++--------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H
index ede1cf9794d..c0f3d40d5c1 100644
--- a/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H
+++ b/src/OpenFOAM/db/IOstreams/Pstreams/UPstream.H
@@ -63,6 +63,9 @@ class UPstream
 {
 public:
 
+    //- Int ranges are used for MPI ranks (processes)
+    typedef IntRange<int> rangeType;
+
     //- Types of communications
     enum class commsTypes
     {
@@ -259,7 +262,7 @@ public:
     ClassName("UPstream");
 
 
-    // Static data
+    // Static Data
 
         //- Should compact transfer be used in which floats replace doubles
         //- reducing the bandwidth requirement at the expense of some loss
@@ -421,7 +424,7 @@ public:
             return old;
         }
 
-        //- Is this a parallel run?
+        //- Test if this a parallel run, or allow modify access
         static bool& parRun()
         {
             return parRun_;
@@ -439,7 +442,7 @@ public:
             return procIDs_[communicator].size();
         }
 
-        //- Process index of the master
+        //- Process index of the master (always 0)
         static constexpr int masterNo() noexcept
         {
             return 0;
@@ -469,17 +472,17 @@ public:
         }
 
         //- Range of process indices for all processes
-        static IntRange<int> allProcs(const label communicator = 0)
+        static rangeType allProcs(const label communicator = 0)
         {
-            // Proc 0 -> nProcs
-            return IntRange<int>(static_cast<int>(nProcs(communicator)));
+            // Proc 0 -> nProcs (int value)
+            return rangeType(static_cast<int>(nProcs(communicator)));
         }
 
         //- Range of process indices for sub-processes
-        static IntRange<int> subProcs(const label communicator = 0)
+        static rangeType subProcs(const label communicator = 0)
         {
-            // Proc 1 -> nProcs
-            return IntRange<int>(1, static_cast<int>(nProcs(communicator)-1));
+            // Proc 1 -> nProcs (int value)
+            return rangeType(1, static_cast<int>(nProcs(communicator)-1));
         }
 
         //- Communication schedule for linear all-to-master (proc 0)
-- 
GitLab