Thrill  0.1
StringSetBase< StringSet, Traits > Class Template Reference

Detailed Description

template<typename StringSet, typename Traits>
class tlx::sort_strings_detail::StringSetBase< StringSet, Traits >

Base class for common string set functions, included via CRTP.

Definition at line 48 of file string_set.hpp.

+ Inheritance diagram for StringSetBase< StringSet, Traits >:

#include <string_set.hpp>

Public Member Functions

Traits::String & at (size_t i) const
 index-based array access (readable and writable) to String objects. More...
 
bool check_order (const typename Traits::String &s1, const typename Traits::String &s2) const
 
bool check_order () const
 
void print () const
 
StringSet subi (size_t begin, size_t end) const
 Subset this string set using index range. More...
 
CharIterator Comparisons
bool is_equal (const typename Traits::String &a, const typename Traits::CharIterator &ai, const typename Traits::String &b, const typename Traits::CharIterator &bi) const
 check equality of two strings a and b at char iterators ai and bi. More...
 
bool is_less (const typename Traits::String &a, const typename Traits::CharIterator &ai, const typename Traits::String &b, const typename Traits::CharIterator &bi) const
 check if string a is less or equal to string b at iterators ai and bi. More...
 
bool is_leq (const typename Traits::String &a, const typename Traits::CharIterator &ai, const typename Traits::String &b, const typename Traits::CharIterator &bi) const
 check if string a is less or equal to string b at iterators ai and bi. More...
 
Character Extractors
Traits::Char get_char (const typename Traits::String &s, size_t depth) const
 
uint8_t get_uint8 (const typename Traits::String &s, typename Traits::CharIterator i) const
 
uint16_t get_uint16 (const typename Traits::String &s, typename Traits::CharIterator i) const
 
uint32_t get_uint32 (const typename Traits::String &s, typename Traits::CharIterator i) const
 
uint64_t get_uint64 (const typename Traits::String &s, typename Traits::CharIterator i) const
 
uint8_t get_uint8 (const typename Traits::String &s, size_t depth) const
 
uint16_t get_uint16 (const typename Traits::String &s, size_t depth) const
 
uint32_t get_uint32 (const typename Traits::String &s, size_t depth) const
 
uint64_t get_uint64 (const typename Traits::String &s, size_t depth) const
 

Member Function Documentation

◆ at()

Traits::String& at ( size_t  i) const
inline

index-based array access (readable and writable) to String objects.

Definition at line 52 of file string_set.hpp.

◆ check_order() [1/2]

bool check_order ( const typename Traits::String &  s1,
const typename Traits::String &  s2 
) const
inline

Definition at line 207 of file string_set.hpp.

◆ check_order() [2/2]

bool check_order ( ) const
inline

◆ get_char()

Traits::Char get_char ( const typename Traits::String &  s,
size_t  depth 
) const
inline

Definition at line 95 of file string_set.hpp.

◆ get_uint16() [1/2]

uint16_t get_uint16 ( const typename Traits::String &  s,
typename Traits::CharIterator  i 
) const
inline

Return up to 2 characters of string s at iterator i packed into a uint16_t (only works correctly for 8-bit characters)

Definition at line 112 of file string_set.hpp.

Referenced by StringSetBase< StringSuffixSet, StringSuffixSetTraits >::get_uint16().

◆ get_uint16() [2/2]

uint16_t get_uint16 ( const typename Traits::String &  s,
size_t  depth 
) const
inline

Definition at line 184 of file string_set.hpp.

◆ get_uint32() [1/2]

uint32_t get_uint32 ( const typename Traits::String &  s,
typename Traits::CharIterator  i 
) const
inline

Return up to 4 characters of string s at iterator i packed into a uint32_t (only works correctly for 8-bit characters)

Definition at line 127 of file string_set.hpp.

Referenced by StringSetBase< StringSuffixSet, StringSuffixSetTraits >::get_uint32().

◆ get_uint32() [2/2]

uint32_t get_uint32 ( const typename Traits::String &  s,
size_t  depth 
) const
inline

Definition at line 189 of file string_set.hpp.

◆ get_uint64() [1/2]

uint64_t get_uint64 ( const typename Traits::String &  s,
typename Traits::CharIterator  i 
) const
inline

Return up to 8 characters of string s at iterator i packed into a uint64_t (only works correctly for 8-bit characters)

Definition at line 148 of file string_set.hpp.

Referenced by StringSetBase< StringSuffixSet, StringSuffixSetTraits >::get_uint64().

◆ get_uint64() [2/2]

uint64_t get_uint64 ( const typename Traits::String &  s,
size_t  depth 
) const
inline

Definition at line 194 of file string_set.hpp.

◆ get_uint8() [1/2]

uint8_t get_uint8 ( const typename Traits::String &  s,
typename Traits::CharIterator  i 
) const
inline

Return up to 1 characters of string s at iterator i packed into a uint8_t (only works correctly for 8-bit characters)

Definition at line 102 of file string_set.hpp.

Referenced by StringSetBase< StringSuffixSet, StringSuffixSetTraits >::get_uint8().

◆ get_uint8() [2/2]

uint8_t get_uint8 ( const typename Traits::String &  s,
size_t  depth 
) const
inline

Definition at line 179 of file string_set.hpp.

◆ is_equal()

bool is_equal ( const typename Traits::String &  a,
const typename Traits::CharIterator &  ai,
const typename Traits::String &  b,
const typename Traits::CharIterator &  bi 
) const
inline

check equality of two strings a and b at char iterators ai and bi.

Definition at line 61 of file string_set.hpp.

◆ is_leq()

bool is_leq ( const typename Traits::String &  a,
const typename Traits::CharIterator &  ai,
const typename Traits::String &  b,
const typename Traits::CharIterator &  bi 
) const
inline

check if string a is less or equal to string b at iterators ai and bi.

Definition at line 80 of file string_set.hpp.

◆ is_less()

bool is_less ( const typename Traits::String &  a,
const typename Traits::CharIterator &  ai,
const typename Traits::String &  b,
const typename Traits::CharIterator &  bi 
) const
inline

check if string a is less or equal to string b at iterators ai and bi.

Definition at line 70 of file string_set.hpp.

◆ print()

void print ( ) const
inline

Definition at line 234 of file string_set.hpp.

◆ subi()

StringSet subi ( size_t  begin,
size_t  end 
) const
inline

Subset this string set using index range.

Definition at line 202 of file string_set.hpp.


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