tlx
Loading...
Searching...
No Matches
SSClassifyEqualUnroll< key_type, TreeBits > Class Template Reference

Sample Sort Classification Tree Unrolled with Equal Comparisons. More...

#include <sample_sort_tools.hpp>

Public Member Functions

void build (key_type *samples, size_t samplesize, unsigned char *splitter_lcp)
 build tree and splitter array from sample
unsigned int find_bkt (const key_type &key) const
 binary search on splitter array for bucket number
template<typename StringSet>
void classify (const StringSet &strset, typename StringSet::Iterator begin, typename StringSet::Iterator end, std::uint16_t *bktout, size_t depth) const
 classify all strings in area by walking tree and saving bucket id
key_type get_splitter (unsigned int i) const
 return a splitter

Static Public Attributes

static const size_t treebits
static const size_t num_splitters

Private Attributes

key_type splitter_tree_ [num_splitters+1]

Detailed Description

template<typename key_type, size_t TreeBits>
class tlx::sort_strings_detail::SSClassifyEqualUnroll< key_type, TreeBits >

Sample Sort Classification Tree Unrolled with Equal Comparisons.

Definition at line 479 of file sample_sort_tools.hpp.

Member Function Documentation

◆ build()

template<typename key_type, size_t TreeBits>
void build ( key_type * samples,
size_t samplesize,
unsigned char * splitter_lcp )
inline

build tree and splitter array from sample

Definition at line 486 of file sample_sort_tools.hpp.

◆ classify()

template<typename key_type, size_t TreeBits>
template<typename StringSet>
void classify ( const StringSet & strset,
typename StringSet::Iterator begin,
typename StringSet::Iterator end,
std::uint16_t * bktout,
size_t depth ) const
inline

classify all strings in area by walking tree and saving bucket id

Definition at line 551 of file sample_sort_tools.hpp.

◆ find_bkt()

template<typename key_type, size_t TreeBits>
unsigned int find_bkt ( const key_type & key) const
inline

binary search on splitter array for bucket number

Definition at line 500 of file sample_sort_tools.hpp.

◆ get_splitter()

template<typename key_type, size_t TreeBits>
key_type get_splitter ( unsigned int i) const
inline

return a splitter

Definition at line 563 of file sample_sort_tools.hpp.

Member Data Documentation

◆ num_splitters

template<typename key_type, size_t TreeBits>
const size_t num_splitters
static

Definition at line 483 of file sample_sort_tools.hpp.

◆ splitter_tree_

template<typename key_type, size_t TreeBits>
key_type splitter_tree_[num_splitters+1]
private

Definition at line 569 of file sample_sort_tools.hpp.

◆ treebits

template<typename key_type, size_t TreeBits>
const size_t treebits
static

Definition at line 482 of file sample_sort_tools.hpp.


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