42 reinterpret_cast<char*>(&value),
64 template<
class Type,
class... Args>
83 template<
class ListType>
86 if (is_contiguous<typename ListType::value_type>::value)
95 label len(list.size());
99 reinterpret_cast<char*>(&len),
107 list.resize_nocopy(len);
static void broadcastList(ListType &list, const label comm=UPstream::worldComm)
Broadcast list content (contiguous or non-contiguous) to all communicator ranks. Does nothing in non-...
static void broadcast(Type &value, const label comm=UPstream::worldComm)
Broadcast content (contiguous or non-contiguous) to all communicator ranks. Does nothing in non-paral...
static constexpr int masterNo() noexcept
Relative rank for the master process - is always 0.
void inputLoop(IS &)
Termination for input looping (no-op)
static bool is_parallel(const label communicator=worldComm)
True if parallel algorithm or exchange is required.
static bool is_subrank(const label communicator=worldComm)
True if process corresponds to a sub-rank in the given communicator.
OBJstream os(runTime.globalPath()/outputName)
static void broadcasts(const label comm, Type &arg1, Args &&... args)
Broadcast multiple items to all communicator ranks. Does nothing in non-parallel. ...
Input inter-processor communications stream using MPI broadcast.
A template class to specify that a data type can be considered as being contiguous in memory...
static bool broadcast(char *buf, const std::streamsize bufSize, const label communicator, const int rootProcNo=masterNo())
Broadcast buffer contents to all processes in given communicator. The sizes must match on all process...
static bool master(const label communicator=worldComm)
True if process corresponds to the master rank in the communicator.
Output inter-processor communications stream using MPI broadcast.
Foam::argList args(argc, argv)
void outputLoop(OS &)
Termination for output looping (no-op)