30template<
class IntType>
37template<
class IntType>
44template<
class IntType>
56 this->
reduce(communicator);
61template<
class IntType>
64 const OffsetRange<IntType>&
range
73template<
class IntType>
80template<
class IntType>
92 this->
reduce(communicator);
constexpr GlobalOffset() noexcept
Default construct as (0,0,0).
void reduce(int communicator=UPstream::worldComm)
Based on the local input size, determine the globally-consistent start offset and total size.
void reset(IntType len) noexcept
Reset from local size with zero offset.
A tuple of integers comprising start, size, total.
IntRange< IntType > range() const noexcept
The (state,size) range.
OffsetRange(const OffsetRange &) noexcept=default
Copy construct.
void reset(IntType len) noexcept
Reset to the specified size, with start=0 and total=size.
void reduce(T &value, BinaryOp bop, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm)
Reduce inplace (cf. MPI Allreduce).