tlx
Loading...
Searching...
No Matches
StringSetBase< StringSet, Traits > Class Template Reference

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

#include <string_set.hpp>

Public Member Functions

Traits::String & at (size_t i) const
 index-based array access (readable and writable) to String objects.
 
StringSet subi (size_t begin, size_t end) const
 Subset this string set using index range.
 
bool check_order (const typename Traits::String &s1, const typename Traits::String &s2) const
 
bool check_order () const
 
void print () const
 
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.
 
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.
 
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.
 
Character Extractors
Traits::Char get_char (const typename Traits::String &s, size_t depth) const
 
std::uint8_t get_uint8 (const typename Traits::String &s, typename Traits::CharIterator i) const
 Return up to 1 characters of string s at iterator i packed into a uint8_t (only works correctly for 8-bit characters)
 
std::uint16_t get_uint16 (const typename Traits::String &s, typename Traits::CharIterator i) const
 Return up to 2 characters of string s at iterator i packed into a uint16_t (only works correctly for 8-bit characters)
 
std::uint32_t get_uint32 (const typename Traits::String &s, typename Traits::CharIterator i) const
 Return up to 4 characters of string s at iterator i packed into a uint32_t (only works correctly for 8-bit characters)
 
std::uint64_t get_uint64 (const typename Traits::String &s, typename Traits::CharIterator i) const
 Return up to 8 characters of string s at iterator i packed into a uint64_t (only works correctly for 8-bit characters)
 
std::uint8_t get_uint8 (const typename Traits::String &s, size_t depth) const
 
std::uint16_t get_uint16 (const typename Traits::String &s, size_t depth) const
 
std::uint32_t get_uint32 (const typename Traits::String &s, size_t depth) const
 
std::uint64_t get_uint64 (const typename Traits::String &s, size_t depth) const
 

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.

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
inline

Definition at line 220 of file string_set.hpp.

◆ check_order() [2/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.

◆ 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]

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

Definition at line 184 of file string_set.hpp.

◆ get_uint16() [2/2]

std::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.

◆ get_uint32() [1/2]

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

Definition at line 189 of file string_set.hpp.

◆ get_uint32() [2/2]

std::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.

◆ get_uint64() [1/2]

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

Definition at line 194 of file string_set.hpp.

◆ get_uint64() [2/2]

std::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.

◆ get_uint8() [1/2]

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

Definition at line 179 of file string_set.hpp.

◆ get_uint8() [2/2]

std::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.

◆ 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: