STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::potentially_parallel Namespace Reference

this namespace provides parallel or sequential algorithms depending on the compilation settings. it should be used by all components, where parallelism is optional. More...

Functions

template<typename RandomAccessIteratorPairIterator , typename RandomAccessIterator3 , typename DiffType , typename Comparator >
RandomAccessIterator3 multiway_merge (RandomAccessIteratorPairIterator seqs_begin, RandomAccessIteratorPairIterator seqs_end, RandomAccessIterator3 target, DiffType length, Comparator comp)
 Multi-way merging dispatcher. More...
 
template<typename RandomAccessIteratorPairIterator , typename RandomAccessIterator3 , typename DiffType , typename Comparator >
RandomAccessIterator3 multiway_merge_sentinels (RandomAccessIteratorPairIterator seqs_begin, RandomAccessIteratorPairIterator seqs_end, RandomAccessIterator3 target, DiffType length, Comparator comp)
 Multi-way merging front-end. More...
 
template<typename RandomAccessIteratorPairIterator , typename RandomAccessIterator3 , typename DiffType , typename Comparator >
RandomAccessIterator3 multiway_merge_stable (RandomAccessIteratorPairIterator seqs_begin, RandomAccessIteratorPairIterator seqs_end, RandomAccessIterator3 target, DiffType length, Comparator comp)
 Multi-way merging dispatcher. More...
 
template<typename RandomAccessIteratorPairIterator , typename RandomAccessIterator3 , typename DiffType , typename Comparator >
RandomAccessIterator3 multiway_merge_stable_sentinels (RandomAccessIteratorPairIterator seqs_begin, RandomAccessIteratorPairIterator seqs_end, RandomAccessIterator3 target, DiffType length, Comparator comp)
 Multi-way merging front-end. More...
 

Detailed Description

this namespace provides parallel or sequential algorithms depending on the compilation settings. it should be used by all components, where parallelism is optional.

Function Documentation

template<typename RandomAccessIteratorPairIterator , typename RandomAccessIterator3 , typename DiffType , typename Comparator >
RandomAccessIterator3 stxxl::potentially_parallel::multiway_merge ( RandomAccessIteratorPairIterator  seqs_begin,
RandomAccessIteratorPairIterator  seqs_end,
RandomAccessIterator3  target,
DiffType  length,
Comparator  comp 
)
template<typename RandomAccessIteratorPairIterator , typename RandomAccessIterator3 , typename DiffType , typename Comparator >
RandomAccessIterator3 stxxl::potentially_parallel::multiway_merge_sentinels ( RandomAccessIteratorPairIterator  seqs_begin,
RandomAccessIteratorPairIterator  seqs_end,
RandomAccessIterator3  target,
DiffType  length,
Comparator  comp 
)

Multi-way merging front-end.

Parameters
seqs_beginBegin iterator of iterator pair input sequence.
seqs_endEnd iterator of iterator pair input sequence.
targetBegin iterator out output sequence.
compComparator.
lengthMaximum length to merge.
Returns
End iterator of output sequence.
Precondition
For each i, seqs_begin[i].second must be the end marker of the sequence, but also reference the one more sentinel element.

Definition at line 195 of file parallel.h.

Referenced by stxxl::priority_queue_local::loser_tree< ValueType, CompareType, MaxArity >::multi_merge(), and stxxl::priority_queue< ConfigType >::refill_delete_buffer().

template<typename RandomAccessIteratorPairIterator , typename RandomAccessIterator3 , typename DiffType , typename Comparator >
RandomAccessIterator3 stxxl::potentially_parallel::multiway_merge_stable ( RandomAccessIteratorPairIterator  seqs_begin,
RandomAccessIteratorPairIterator  seqs_end,
RandomAccessIterator3  target,
DiffType  length,
Comparator  comp 
)

Multi-way merging dispatcher.

Parameters
seqs_beginBegin iterator of iterator pair input sequence.
seqs_endEnd iterator of iterator pair input sequence.
targetBegin iterator out output sequence.
compComparator.
lengthMaximum length to merge.
Returns
End iterator of output sequence.

Definition at line 169 of file parallel.h.

template<typename RandomAccessIteratorPairIterator , typename RandomAccessIterator3 , typename DiffType , typename Comparator >
RandomAccessIterator3 stxxl::potentially_parallel::multiway_merge_stable_sentinels ( RandomAccessIteratorPairIterator  seqs_begin,
RandomAccessIteratorPairIterator  seqs_end,
RandomAccessIterator3  target,
DiffType  length,
Comparator  comp 
)

Multi-way merging front-end.

Parameters
seqs_beginBegin iterator of iterator pair input sequence.
seqs_endEnd iterator of iterator pair input sequence.
targetBegin iterator out output sequence.
compComparator.
lengthMaximum length to merge.
Returns
End iterator of output sequence.
Precondition
For each i, seqs_begin[i].second must be the end marker of the sequence, but also reference the one more sentinel element.

Definition at line 221 of file parallel.h.