Represents quick sort work at a given level. More...
#include <tpie/parallel_sort.h>
Inherits tpie::job.
Public Member Functions | |
qsort_job (iterator_type a, iterator_type b, comp_type comp, qsort_job *parent, progress_t &p) | |
Construct a qsort_job. More... | |
virtual void | operator() () override |
Running a job with iterators a and b will repeatedly partition [a,b), spawn a job on the left part and recurse on the right part, until the min_size limit is reached. More... | |
void | join () |
Wait for this job and its subjobs to complete. More... | |
bool | is_done () |
Return true if this job and its subjobs are done. More... | |
void | enqueue (job *parent=0) |
Add this job to the job pool. More... | |
void | run () |
Run this job. More... | |
Protected Member Functions | |
virtual void | on_done () override |
Called when this job and all subjobs are done. More... | |
Represents quick sort work at a given level.
Definition at line 172 of file parallel_sort.h.
|
inline |
Construct a qsort_job.
Definition at line 177 of file parallel_sort.h.
|
inherited |
Add this job to the job pool.
parent | (optional) The parent job, or 0 if this is a root job. |
Referenced by tpie::parallel_sort_impl< iterator_type, comp_type, Progress, min_size >::qsort_job::operator()(), and tpie::parallel_sort_impl< iterator_type, comp_type, Progress, min_size >::operator()().
|
inherited |
Return true if this job and its subjobs are done.
|
inherited |
Wait for this job and its subjobs to complete.
Referenced by tpie::parallel_sort_impl< iterator_type, comp_type, Progress, min_size >::operator()().
|
inlineoverrideprotectedvirtual |
Called when this job and all subjobs are done.
Reimplemented from tpie::job.
Definition at line 211 of file parallel_sort.h.
|
inlineoverridevirtual |
Running a job with iterators a and b will repeatedly partition [a,b), spawn a job on the left part and recurse on the right part, until the min_size limit is reached.
Implements tpie::job.
Definition at line 195 of file parallel_sort.h.
References tpie::job::enqueue(), and tpie::sort().
|
inherited |
Run this job.
Invoke operator() and call done().