tlx
Loading...
Searching...
No Matches
SSTreeBuilderPreAndLevelOrder< key_type, num_splitters > Class Template Reference

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

#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)
 
ptrdiff_t snum (const key_type *s) const
 
key_type recurse (const key_type *lo, const key_type *hi, unsigned int treeidx, key_type &rec_prevkey)
 

Private Attributes

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

Static Private Attributes

static const bool debug_splitter
 

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 123 of file sample_sort_tools.hpp.

Constructor & Destructor Documentation

◆ SSTreeBuilderPreAndLevelOrder()

template<typename key_type, size_t num_splitters>
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 130 of file sample_sort_tools.hpp.

Member Function Documentation

◆ recurse()

template<typename key_type, size_t num_splitters>
key_type recurse ( const key_type * lo,
const key_type * hi,
unsigned int treeidx,
key_type & rec_prevkey )
inline

Definition at line 151 of file sample_sort_tools.hpp.

◆ snum()

template<typename key_type, size_t num_splitters>
ptrdiff_t snum ( const key_type * s) const
inline

Definition at line 147 of file sample_sort_tools.hpp.

Member Data Documentation

◆ debug_splitter

template<typename key_type, size_t num_splitters>
const bool debug_splitter
staticprivate

Definition at line 125 of file sample_sort_tools.hpp.

◆ lcp_iter_

template<typename key_type, size_t num_splitters>
unsigned char* lcp_iter_
private

Definition at line 226 of file sample_sort_tools.hpp.

◆ samples_

template<typename key_type, size_t num_splitters>
const key_type* samples_
private

Definition at line 227 of file sample_sort_tools.hpp.

◆ splitter_

template<typename key_type, size_t num_splitters>
key_type* splitter_
private

Definition at line 224 of file sample_sort_tools.hpp.

◆ tree_

template<typename key_type, size_t num_splitters>
key_type* tree_
private

Definition at line 225 of file sample_sort_tools.hpp.


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