Thrill  0.1
SSTreeBuilderPreAndLevelOrder< key_type, num_splitters > Class Template Reference

Detailed Description

template<typename key_type, size_t num_splitters>
class tlx::sort_strings_detail::SSTreeBuilderPreAndLevelOrder< key_type, num_splitters >

Recursive TreeBuilder for full-descent and unrolled variants, constructs a both a pre-order and level-order array of splitters and the corresponding LCPs.

Definition at line 122 of file sample_sort_tools.hpp.

#include <sample_sort_tools.hpp>

Public Member Functions

 SSTreeBuilderPreAndLevelOrder (key_type splitter[num_splitters], key_type tree[num_splitters+1], unsigned char splitter_lcp[num_splitters+1], const key_type *samples, size_t samplesize)
 
key_type recurse (const key_type *lo, const key_type *hi, unsigned int treeidx, key_type &rec_prevkey)
 
ptrdiff_t snum (const key_type *s) const
 

Private Attributes

unsigned char * lcp_iter_
 
const key_type * samples_
 
key_type * splitter_
 
key_type * tree_
 

Static Private Attributes

static const bool debug_splitter = false
 

Constructor & Destructor Documentation

◆ SSTreeBuilderPreAndLevelOrder()

SSTreeBuilderPreAndLevelOrder ( key_type  splitter[num_splitters],
key_type  tree[num_splitters+1],
unsigned char  splitter_lcp[num_splitters+1],
const key_type *  samples,
size_t  samplesize 
)
inline

Definition at line 129 of file sample_sort_tools.hpp.

References thrill::mem::sentinel.

Member Function Documentation

◆ recurse()

key_type recurse ( const key_type *  lo,
const key_type *  hi,
unsigned int  treeidx,
key_type &  rec_prevkey 
)
inline

Definition at line 150 of file sample_sort_tools.hpp.

References tlx::clz(), tlx::hexdump_type(), TLX_LOG0, and TLX_LOGC.

◆ snum()

ptrdiff_t snum ( const key_type *  s) const
inline

Definition at line 146 of file sample_sort_tools.hpp.

Member Data Documentation

◆ debug_splitter

const bool debug_splitter = false
staticprivate

Definition at line 124 of file sample_sort_tools.hpp.

◆ lcp_iter_

unsigned char* lcp_iter_
private

Definition at line 225 of file sample_sort_tools.hpp.

◆ samples_

const key_type* samples_
private

Definition at line 226 of file sample_sort_tools.hpp.

◆ splitter_

key_type* splitter_
private

Definition at line 223 of file sample_sort_tools.hpp.

◆ tree_

key_type* tree_
private

Definition at line 224 of file sample_sort_tools.hpp.


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