MergeSegment Class Reference

#include <parallelsort.h>

Classes

struct  Span
 

Public Member Functions

template<typename SORTCLASS , typename SOURCEITERATOR , typename DESTITERATOR , typename HELPER >
void ExecuteMerge (const SORTCLASS &sort, SOURCEITERATOR source, DESTITERATOR destination, const HELPER &helper) const
 
template<typename SORTCLASS , typename ITERATOR >
void Split (const SORTCLASS &sort, ITERATOR arr, BaseArray< MergeSegment > &seg, Int &segments) const
 
Bool Init (Int block, Int chunksize, Int count)
 

Public Attributes

Span _a
 
Span _b
 
Int _destOffset
 

Static Public Attributes

static const Int maximumSplits
 
static const Int maximumSegmentsPerSplit
 

Private Member Functions

template<typename SORTCLASS , typename TYPE , typename ITERATOR >
TYPE * FindMergeInsertionIndex (const SORTCLASS &sort, const TYPE &key, ITERATOR arr, Int count, Int &insertionIndex) const
 

Member Function Documentation

◆ ExecuteMerge()

void ExecuteMerge ( const SORTCLASS &  sort,
SOURCEITERATOR  source,
DESTITERATOR  destination,
const HELPER &  helper 
) const

◆ Split()

void Split ( const SORTCLASS &  sort,
ITERATOR  arr,
BaseArray< MergeSegment > &  seg,
Int segments 
) const

◆ Init()

Bool Init ( Int  block,
Int  chunksize,
Int  count 
)

◆ FindMergeInsertionIndex()

TYPE * FindMergeInsertionIndex ( const SORTCLASS &  sort,
const TYPE &  key,
ITERATOR  arr,
Int  count,
Int insertionIndex 
) const
private

Member Data Documentation

◆ _a

Span _a

◆ _b

Span _b

◆ _destOffset

Int _destOffset

◆ maximumSplits

const Int maximumSplits
static

◆ maximumSegmentsPerSplit

const Int maximumSegmentsPerSplit
static