tlx

Specialized Sorting Algorithms. More...

Namespaces

 tlx::parallel_mergesort_detail
 
 tlx::sort_strings_detail
 

Parallel Sorting Algorithms

template<bool Stable, typename RandomAccessIterator , typename Comparator >
void parallel_mergesort_base (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp, size_t num_threads=std::thread::hardware_concurrency(), MultiwayMergeSplittingAlgorithm mwmsa=MWMSA_DEFAULT)
 Parallel multiway mergesort main call. More...
 
template<typename RandomAccessIterator , typename Comparator = std::less< typename std::iterator_traits<RandomAccessIterator>::value_type>>
void parallel_mergesort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp=Comparator(), size_t num_threads=std::thread::hardware_concurrency(), MultiwayMergeSplittingAlgorithm mwmsa=MWMSA_DEFAULT)
 Parallel multiway mergesort. More...
 
template<typename RandomAccessIterator , typename Comparator = std::less< typename std::iterator_traits<RandomAccessIterator>::value_type>>
void stable_parallel_mergesort (RandomAccessIterator begin, RandomAccessIterator end, Comparator comp=Comparator(), size_t num_threads=std::thread::hardware_concurrency(), MultiwayMergeSplittingAlgorithm mwmsa=MWMSA_DEFAULT)
 Stable parallel multiway mergesort. More...
 

String Sorting Algorithms

static void sort_strings (unsigned char **strings, size_t size, size_t memory=0)
 Sort a set of strings represented by C-style uint8_t* in place. More...
 
static void sort_strings (char **strings, size_t size, size_t memory=0)
 Sort a set of strings represented by C-style char* in place. More...
 
static void sort_strings (const unsigned char **strings, size_t size, size_t memory=0)
 Sort a set of strings represented by C-style uint8_t* in place. More...
 
static void sort_strings (const char **strings, size_t size, size_t memory=0)
 Sort a set of strings represented by C-style char* in place. More...
 
static void sort_strings (std::vector< char * > &strings, size_t memory=0)
 Sort a set of strings represented by C-style char* in place. More...
 
static void sort_strings (std::vector< unsigned char * > &strings, size_t memory=0)
 Sort a set of strings represented by C-style uint8_t* in place. More...
 
static void sort_strings (std::vector< const char * > &strings, size_t memory=0)
 Sort a set of strings represented by C-style char* in place. More...
 
static void sort_strings (std::vector< const unsigned char * > &strings, size_t memory=0)
 Sort a set of strings represented by C-style uint8_t* in place. More...
 
static void sort_strings (std::string *strings, size_t size, size_t memory=0)
 Sort a set of std::strings in place. More...
 
static void sort_strings (std::vector< std::string > &strings, size_t memory=0)
 Sort a vector of std::strings in place. More...
 
static void sort_strings_lcp (unsigned char **strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of strings represented by C-style uint8_t* in place. More...
 
static void sort_strings_lcp (char **strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of strings represented by C-style char* in place. More...
 
static void sort_strings_lcp (const unsigned char **strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of strings represented by C-style uint8_t* in place. More...
 
static void sort_strings_lcp (const char **strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of strings represented by C-style char* in place. More...
 
static void sort_strings_lcp (std::vector< char * > &strings, uint32_t *lcp, size_t memory=0)
 Sort a set of strings represented by C-style char* in place. More...
 
static void sort_strings_lcp (std::vector< unsigned char * > &strings, uint32_t *lcp, size_t memory=0)
 Sort a set of strings represented by C-style uint8_t* in place. More...
 
static void sort_strings_lcp (std::vector< const char * > &strings, uint32_t *lcp, size_t memory=0)
 Sort a set of strings represented by C-style char* in place. More...
 
static void sort_strings_lcp (std::vector< const unsigned char * > &strings, uint32_t *lcp, size_t memory=0)
 Sort a set of strings represented by C-style uint8_t* in place. More...
 
static void sort_strings_lcp (std::string *strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of std::strings in place. More...
 
static void sort_strings_lcp (std::vector< std::string > &strings, uint32_t *lcp, size_t memory=0)
 Sort a vector of std::strings in place. More...
 
static void sort_strings_parallel (unsigned char **strings, size_t size, size_t memory=0)
 Sort a set of strings in parallel represented by C-style uint8_t* in place. More...
 
static void sort_strings_parallel (char **strings, size_t size, size_t memory=0)
 Sort a set of strings in parallel represented by C-style char* in place. More...
 
static void sort_strings_parallel (const unsigned char **strings, size_t size, size_t memory=0)
 Sort a set of strings in parallel represented by C-style uint8_t* in place. More...
 
static void sort_strings_parallel (const char **strings, size_t size, size_t memory=0)
 Sort a set of strings in parallel represented by C-style char* in place. More...
 
static void sort_strings_parallel (std::vector< char * > &strings, size_t memory=0)
 Sort a set of strings in parallel represented by C-style char* in place. More...
 
static void sort_strings_parallel (std::vector< unsigned char * > &strings, size_t memory=0)
 Sort a set of strings in parallel represented by C-style uint8_t* in place. More...
 
static void sort_strings_parallel (std::vector< const char * > &strings, size_t memory=0)
 Sort a set of strings in parallel represented by C-style char* in place. More...
 
static void sort_strings_parallel (std::vector< const unsigned char * > &strings, size_t memory=0)
 Sort a set of strings in parallel represented by C-style uint8_t* in place. More...
 
static void sort_strings_parallel (std::string *strings, size_t size, size_t memory=0)
 Sort a set of std::strings in place in parallel. More...
 
static void sort_strings_parallel (std::vector< std::string > &strings, size_t memory=0)
 Sort a vector of std::strings in place in parallel. More...
 
static void sort_strings_parallel_lcp (unsigned char **strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of strings in parallel represented by C-style uint8_t* in place. More...
 
static void sort_strings_parallel_lcp (char **strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of strings in parallel represented by C-style char* in place. More...
 
static void sort_strings_parallel_lcp (const unsigned char **strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of strings in parallel represented by C-style uint8_t* in place. More...
 
static void sort_strings_parallel_lcp (const char **strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of strings in parallel represented by C-style char* in place. More...
 
static void sort_strings_parallel_lcp (std::vector< char * > &strings, uint32_t *lcp, size_t memory=0)
 Sort a set of strings in parallel represented by C-style char* in place. More...
 
static void sort_strings_parallel_lcp (std::vector< unsigned char * > &strings, uint32_t *lcp, size_t memory=0)
 Sort a set of strings in parallel represented by C-style uint8_t* in place. More...
 
static void sort_strings_parallel_lcp (std::vector< const char * > &strings, uint32_t *lcp, size_t memory=0)
 Sort a set of strings in parallel represented by C-style char* in place. More...
 
static void sort_strings_parallel_lcp (std::vector< const unsigned char * > &strings, uint32_t *lcp, size_t memory=0)
 Sort a set of strings in parallel represented by C-style uint8_t* in place. More...
 
static void sort_strings_parallel_lcp (std::string *strings, size_t size, uint32_t *lcp, size_t memory=0)
 Sort a set of std::strings in place in parallel. More...
 
static void sort_strings_parallel_lcp (std::vector< std::string > &strings, uint32_t *lcp, size_t memory=0)
 Sort a vector of std::strings in place in parallel. More...
 

Detailed Description

Specialized Sorting Algorithms.

Function Documentation

◆ parallel_mergesort()

void tlx::parallel_mergesort ( RandomAccessIterator  begin,
RandomAccessIterator  end,
Comparator  comp = Comparator(),
size_t  num_threads = std::thread::hardware_concurrency(),
MultiwayMergeSplittingAlgorithm  mwmsa = MWMSA_DEFAULT 
)

Parallel multiway mergesort.

Parameters
beginBegin iterator of sequence.
endEnd iterator of sequence.
compComparator.
num_threadsNumber of threads to use.
mwmsaMultiwayMergeSplittingAlgorithm to use.

Definition at line 376 of file parallel_mergesort.hpp.

◆ parallel_mergesort_base()

void tlx::parallel_mergesort_base ( RandomAccessIterator  begin,
RandomAccessIterator  end,
Comparator  comp,
size_t  num_threads = std::thread::hardware_concurrency(),
MultiwayMergeSplittingAlgorithm  mwmsa = MWMSA_DEFAULT 
)

Parallel multiway mergesort main call.

Parameters
beginBegin iterator of sequence.
endEnd iterator of sequence.
compComparator.
num_threadsNumber of threads to use.
mwmsaMultiwayMergeSplittingAlgorithm to use.
Template Parameters
StableStable sorting.

Definition at line 295 of file parallel_mergesort.hpp.

◆ sort_strings() [1/10]

static void tlx::sort_strings ( char **  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 65 of file strings.hpp.

◆ sort_strings() [2/10]

static void tlx::sort_strings ( const char **  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 93 of file strings.hpp.

◆ sort_strings() [3/10]

static void tlx::sort_strings ( const unsigned char **  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style uint8_t* in place.

If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 77 of file strings.hpp.

◆ sort_strings() [4/10]

static void tlx::sort_strings ( std::string *  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of std::strings in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 157 of file strings.hpp.

◆ sort_strings() [5/10]

static void tlx::sort_strings ( std::vector< char * > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 108 of file strings.hpp.

◆ sort_strings() [6/10]

static void tlx::sort_strings ( std::vector< const char * > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 131 of file strings.hpp.

◆ sort_strings() [7/10]

static void tlx::sort_strings ( std::vector< const unsigned char * > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style uint8_t* in place.

If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 142 of file strings.hpp.

◆ sort_strings() [8/10]

static void tlx::sort_strings ( std::vector< std::string > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a vector of std::strings in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 172 of file strings.hpp.

◆ sort_strings() [9/10]

static void tlx::sort_strings ( std::vector< unsigned char * > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style uint8_t* in place.

If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 119 of file strings.hpp.

◆ sort_strings() [10/10]

static void tlx::sort_strings ( unsigned char **  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style uint8_t* in place.

If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 50 of file strings.hpp.

◆ sort_strings_lcp() [1/10]

static void tlx::sort_strings_lcp ( char **  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 204 of file strings.hpp.

◆ sort_strings_lcp() [2/10]

static void tlx::sort_strings_lcp ( const char **  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 234 of file strings.hpp.

◆ sort_strings_lcp() [3/10]

static void tlx::sort_strings_lcp ( const unsigned char **  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style uint8_t* in place.

If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 217 of file strings.hpp.

◆ sort_strings_lcp() [4/10]

static void tlx::sort_strings_lcp ( std::string *  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of std::strings in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 302 of file strings.hpp.

◆ sort_strings_lcp() [5/10]

static void tlx::sort_strings_lcp ( std::vector< char * > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 250 of file strings.hpp.

◆ sort_strings_lcp() [6/10]

static void tlx::sort_strings_lcp ( std::vector< const char * > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 275 of file strings.hpp.

◆ sort_strings_lcp() [7/10]

static void tlx::sort_strings_lcp ( std::vector< const unsigned char * > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style uint8_t* in place.

If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 287 of file strings.hpp.

◆ sort_strings_lcp() [8/10]

static void tlx::sort_strings_lcp ( std::vector< std::string > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a vector of std::strings in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 319 of file strings.hpp.

◆ sort_strings_lcp() [9/10]

static void tlx::sort_strings_lcp ( std::vector< unsigned char * > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style uint8_t* in place.

If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 262 of file strings.hpp.

◆ sort_strings_lcp() [10/10]

static void tlx::sort_strings_lcp ( unsigned char **  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings represented by C-style uint8_t* in place.

If the memory limit is non zero, possibly slower algorithms will be selected to stay within the memory limit.

Definition at line 187 of file strings.hpp.

◆ sort_strings_parallel() [1/10]

static void tlx::sort_strings_parallel ( char **  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 62 of file strings_parallel.hpp.

◆ sort_strings_parallel() [2/10]

static void tlx::sort_strings_parallel ( const char **  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 88 of file strings_parallel.hpp.

◆ sort_strings_parallel() [3/10]

static void tlx::sort_strings_parallel ( const unsigned char **  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style uint8_t* in place.

The memory limit is currently not used.

Definition at line 73 of file strings_parallel.hpp.

◆ sort_strings_parallel() [4/10]

static void tlx::sort_strings_parallel ( std::string *  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of std::strings in place in parallel.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 150 of file strings_parallel.hpp.

◆ sort_strings_parallel() [5/10]

static void tlx::sort_strings_parallel ( std::vector< char * > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 103 of file strings_parallel.hpp.

◆ sort_strings_parallel() [6/10]

static void tlx::sort_strings_parallel ( std::vector< const char * > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 125 of file strings_parallel.hpp.

◆ sort_strings_parallel() [7/10]

static void tlx::sort_strings_parallel ( std::vector< const unsigned char * > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style uint8_t* in place.

The memory limit is currently not used.

Definition at line 136 of file strings_parallel.hpp.

◆ sort_strings_parallel() [8/10]

static void tlx::sort_strings_parallel ( std::vector< std::string > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a vector of std::strings in place in parallel.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 165 of file strings_parallel.hpp.

◆ sort_strings_parallel() [9/10]

static void tlx::sort_strings_parallel ( std::vector< unsigned char * > &  strings,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style uint8_t* in place.

The memory limit is currently not used.

Definition at line 113 of file strings_parallel.hpp.

◆ sort_strings_parallel() [10/10]

static void tlx::sort_strings_parallel ( unsigned char **  strings,
size_t  size,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style uint8_t* in place.

The memory limit is currently not used.

Definition at line 47 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [1/10]

static void tlx::sort_strings_parallel_lcp ( char **  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 196 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [2/10]

static void tlx::sort_strings_parallel_lcp ( const char **  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 224 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [3/10]

static void tlx::sort_strings_parallel_lcp ( const unsigned char **  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style uint8_t* in place.

The memory limit is currently not used.

Definition at line 208 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [4/10]

static void tlx::sort_strings_parallel_lcp ( std::string *  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of std::strings in place in parallel.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 291 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [5/10]

static void tlx::sort_strings_parallel_lcp ( std::vector< char * > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 239 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [6/10]

static void tlx::sort_strings_parallel_lcp ( std::vector< const char * > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style char* in place.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 264 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [7/10]

static void tlx::sort_strings_parallel_lcp ( std::vector< const unsigned char * > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style uint8_t* in place.

The memory limit is currently not used.

Definition at line 276 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [8/10]

static void tlx::sort_strings_parallel_lcp ( std::vector< std::string > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a vector of std::strings in place in parallel.

The strings are sorted as unsigned 8-bit characters, not signed characters! The memory limit is currently not used.

Definition at line 307 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [9/10]

static void tlx::sort_strings_parallel_lcp ( std::vector< unsigned char * > &  strings,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style uint8_t* in place.

The memory limit is currently not used.

Definition at line 251 of file strings_parallel.hpp.

◆ sort_strings_parallel_lcp() [10/10]

static void tlx::sort_strings_parallel_lcp ( unsigned char **  strings,
size_t  size,
uint32_t *  lcp,
size_t  memory = 0 
)
inlinestatic

Sort a set of strings in parallel represented by C-style uint8_t* in place.

The memory limit is currently not used.

Definition at line 180 of file strings_parallel.hpp.

◆ stable_parallel_mergesort()

void tlx::stable_parallel_mergesort ( RandomAccessIterator  begin,
RandomAccessIterator  end,
Comparator  comp = Comparator(),
size_t  num_threads = std::thread::hardware_concurrency(),
MultiwayMergeSplittingAlgorithm  mwmsa = MWMSA_DEFAULT 
)

Stable parallel multiway mergesort.

Parameters
beginBegin iterator of sequence.
endEnd iterator of sequence.
compComparator.
num_threadsNumber of threads to use.
mwmsaMultiwayMergeSplittingAlgorithm to use.

Definition at line 399 of file parallel_mergesort.hpp.