Go to the documentation of this file.
47 #ifndef ParSortableList_H
48 #define ParSortableList_H
72 public ParSortableListName,
110 const Type&
value()
const
152 const label fromProcNo,
166 const label destProcI
void checkAndSend(List< Type > &values, labelList &indices, const label bufSize, const label destProcI) const
If destProc != myProcNo send & clear values and indices.
Private class for sorting. Sorts on value_.
void write(const List< Type > &elems, Ostream &os) const
Write for debugging.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void getPivots(const List< Type > &elems, List< Type > &pivots) const
Calculate pivots.
const labelList & indices() const
Return the list of sorted point indices.
labelList indices_
Original indices.
TemplateName(blendedSchemeBase)
void sort()
(stable) sort the list (if changed after construction time)
Implementation of PSRS parallel sorting routine.
void copyInto(const List< Type > &values, const labelList &indices, const label fromProcNo, label &destI, List< taggedValue > &dest) const
Copy into dest, setting indices and processor no.
label size() const
Return the number of elements in the UList.
ParSortableList(const UList< Type > &)
Construct from List, sorting the elements.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
labelList procs_
Processor numbers.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const labelList & procs() const
Return the list of processor number.
const Type & value() const