Classes | Public Member Functions | List of all members
ParSortableList< Type > Class Template Reference

Implementation of PSRS parallel sorting routine. More...

Inheritance diagram for ParSortableList< Type >:
Inheritance graph
[legend]
Collaboration diagram for ParSortableList< Type >:
Collaboration graph
[legend]

Public Member Functions

 ParSortableList (const UList< Type > &)
 
 ParSortableList (const label size)
 
void sort ()
 
const labelListindices () const
 
const labelListprocs () const
 
- Public Member Functions inherited from List< Type >
constexpr List () noexcept
 
 List (const label len)
 
 List (const label len, const T &val)
 
 List (const label len, const Foam::zero)
 
 List (const Foam::one, const T &val)
 
 List (const Foam::one, T &&val)
 
 List (const Foam::one, const Foam::zero)
 
 List (const List< T > &a)
 
 List (const UList< T > &a)
 
 List (List< T > &a, bool reuse)
 
 List (const UList< T > &list, const labelUList &indices)
 
 List (const UList< T > &list, const FixedList< label, N > &indices)
 
 List (const FixedList< T, N > &list)
 
 List (const PtrList< T > &list)
 
 List (const SLList< T > &list)
 
 List (const IndirectListBase< T, Addr > &list)
 
 List (std::initializer_list< T > list)
 
 List (List< T > &&list)
 
 List (DynamicList< T, SizeMin > &&list)
 
 List (SortableList< T > &&list)
 
 List (SLList< T > &&list)
 
 List (Istream &is)
 
 List (const label len)
 
 List (const label len, const T &val)
 
 List (const label len, const Foam::zero)
 
 List (const Foam::one, const T &val)
 
 List (const Foam::one, T &&val)
 
 List (const Foam::one, const Foam::zero)
 
 List (const UList< T > &a)
 
 List (const List< T > &a)
 
 List (List< T > &a, bool reuse)
 
 List (const UList< T > &list, const labelUList &indices)
 
 List (const PtrList< T > &list)
 
 List (const SLList< T > &list)
 
 List (std::initializer_list< T > list)
 
 List (List< T > &&list)
 
 List (SortableList< T > &&list)
 
 List (SLList< T > &&list)
 
constexpr List () noexcept
 
 List (Istream &is)
 
autoPtr< List< T > > clone () const
 
 ~List ()
 
void clear ()
 
void resize (const label len)
 
void resize (const label len, const T &val)
 
void resize (const label newLen)
 
void resize_nocopy (const label len)
 
void setSize (const label n)
 
void setSize (const label n, const T &val)
 
void append (const T &val)
 
void append (T &&val)
 
void append (const UList< T > &list)
 
void append (const IndirectListBase< T, Addr > &list)
 
void append (const T &val)
 
void append (T &&val)
 
void append (const UList< T > &list)
 
label appendUniq (const T &val)
 
void transfer (List< T > &list)
 
void transfer (DynamicList< T, SizeMin > &list)
 
void transfer (SortableList< T > &list)
 
void transfer (List< T > &list)
 
void transfer (SortableList< T > &list)
 
TnewElmt (const label i)
 
void operator= (const UList< T > &a)
 
void operator= (const List< T > &list)
 
void operator= (const SLList< T > &list)
 
void operator= (const IndirectListBase< T, Addr > &list)
 
void operator= (const FixedList< T, N > &list)
 
void operator= (std::initializer_list< T > list)
 
void operator= (const T &val)
 
void operator= (const Foam::zero)
 
void operator= (List< T > &&list)
 
void operator= (DynamicList< T, SizeMin > &&list)
 
void operator= (SortableList< T > &&list)
 
void operator= (SLList< T > &&list)
 
void operator= (const UList< T > &a)
 
void operator= (const List< T > &list)
 
void operator= (const SLList< T > &list)
 
void operator= (std::initializer_list< T > list)
 
void operator= (List< T > &&list)
 
void operator= (SortableList< T > &&list)
 
void operator= (SLList< T > &&list)
 
void operator= (const T &val)
 
void operator= (const Foam::zero)
 
IstreamreadList (Istream &is)
 
IstreamreadList (Istream &is)
 
IstreamreadList (Istream &is)
 
void shallowCopy (const UList< T > &)=delete
 
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type set (const label i, bool val=true)
 

Additional Inherited Members

- Public Types inherited from List< Type >
typedef SubList< TsubList
 
- Static Public Member Functions inherited from List< Type >
static const List< T > & null ()
 

Detailed Description

template<class Type>
class Foam::ParSortableList< Type >

Implementation of PSRS parallel sorting routine.

From "On the Versatility of Parallel Sorting by Regular Sampling" Xiaobo Li et. all.

Construct from list of things to sort (uses SortableList, 'thing' should implement >, ==).

Will contain sorted data and in

Can also be constructed from size, filled at ease and then sort()'ed.

Source files

Definition at line 67 of file ParSortableList.H.

Constructor & Destructor Documentation

◆ ParSortableList() [1/2]

ParSortableList ( const UList< Type > &  values)

Definition at line 121 of file ParSortableList.C.

References ParSortableList< Type >::sort().

Here is the call graph for this function:

◆ ParSortableList() [2/2]

ParSortableList ( const label  size)

Definition at line 132 of file ParSortableList.C.

Member Function Documentation

◆ sort()

void sort

◆ indices()

const labelList& indices ( ) const
inline

Definition at line 184 of file ParSortableList.H.

◆ procs()

const labelList& procs ( ) const
inline

Definition at line 190 of file ParSortableList.H.


The documentation for this class was generated from the following files: