tlx
GenericCharStringSet< CharType > Class Template Reference

Class implementing StringSet concept for char* and unsigned char* strings. More...

#include <string_set.hpp>

Inheritance diagram for GenericCharStringSet< CharType >:
GenericCharStringSetTraits< CharType > StringSetBase< GenericCharStringSet< CharType >, GenericCharStringSetTraits< CharType > >

Public Types

typedef GenericCharStringSetTraits< CharType > Traits
 
typedef Traits::Char Char
 
typedef Traits::String String
 
typedef Traits::Iterator Iterator
 
typedef Traits::CharIterator CharIterator
 
typedef Traits::Container Container
 
- Public Types inherited from GenericCharStringSetTraits< CharType >
typedef CharType Char
 exported alias for character type More...
 
typedef CharString
 String reference: pointer to first character. More...
 
typedef StringIterator
 Iterator over string references: pointer over pointers. More...
 
typedef std::pair< Iterator, size_t > Container
 exported alias for assumed string container More...
 

Public Member Functions

 GenericCharStringSet (Iterator begin, Iterator end)
 Construct from begin and end string pointers. More...
 
 GenericCharStringSet (const Container &c)
 Construct from a string container. More...
 
size_t size () const
 Return size of string array. More...
 
Iterator begin () const
 Iterator representing first String position. More...
 
Iterator end () const
 Iterator representing beyond last String position. More...
 
Stringoperator[] (Iterator i) const
 Iterator-based array access (readable and writable) to String objects. More...
 
CharIterator get_chars (const String &s, size_t depth) const
 Return CharIterator for referenced string, which belong to this set. More...
 
bool is_end (const String &, const CharIterator &i) const
 Returns true if CharIterator is at end of the given String. More...
 
std::string get_string (const String &s, size_t depth=0) const
 Return complete string (for debugging purposes) More...
 
GenericCharStringSet sub (Iterator begin, Iterator end) const
 Subset this string set using iterator range. More...
 
- Public Member Functions inherited from StringSetBase< GenericCharStringSet< CharType >, GenericCharStringSetTraits< CharType > >
GenericCharStringSetTraits< CharType > ::String & at (size_t i) const
 index-based array access (readable and writable) to String objects. More...
 
GenericCharStringSet< CharType > subi (size_t begin, size_t end) const
 Subset this string set using index range. More...
 
bool check_order (const typename GenericCharStringSetTraits< CharType > ::String &s1, const typename GenericCharStringSetTraits< CharType > ::String &s2) const
 
bool check_order () const
 
void print () const
 
bool is_equal (const typename GenericCharStringSetTraits< CharType > ::String &a, const typename GenericCharStringSetTraits< CharType > ::CharIterator &ai, const typename GenericCharStringSetTraits< CharType > ::String &b, const typename GenericCharStringSetTraits< CharType > ::CharIterator &bi) const
 check equality of two strings a and b at char iterators ai and bi. More...
 
bool is_less (const typename GenericCharStringSetTraits< CharType > ::String &a, const typename GenericCharStringSetTraits< CharType > ::CharIterator &ai, const typename GenericCharStringSetTraits< CharType > ::String &b, const typename GenericCharStringSetTraits< CharType > ::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 GenericCharStringSetTraits< CharType > ::String &a, const typename GenericCharStringSetTraits< CharType > ::CharIterator &ai, const typename GenericCharStringSetTraits< CharType > ::String &b, const typename GenericCharStringSetTraits< CharType > ::CharIterator &bi) const
 check if string a is less or equal to string b at iterators ai and bi. More...
 
GenericCharStringSetTraits< CharType > ::Char get_char (const typename GenericCharStringSetTraits< CharType > ::String &s, size_t depth) const
 
uint8_t get_uint8 (const typename GenericCharStringSetTraits< CharType > ::String &s, typename GenericCharStringSetTraits< CharType > ::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) More...
 
uint8_t get_uint8 (const typename GenericCharStringSetTraits< CharType > ::String &s, size_t depth) const
 
uint16_t get_uint16 (const typename GenericCharStringSetTraits< CharType > ::String &s, typename GenericCharStringSetTraits< CharType > ::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) More...
 
uint16_t get_uint16 (const typename GenericCharStringSetTraits< CharType > ::String &s, size_t depth) const
 
uint32_t get_uint32 (const typename GenericCharStringSetTraits< CharType > ::String &s, typename GenericCharStringSetTraits< CharType > ::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) More...
 
uint32_t get_uint32 (const typename GenericCharStringSetTraits< CharType > ::String &s, size_t depth) const
 
uint64_t get_uint64 (const typename GenericCharStringSetTraits< CharType > ::String &s, typename GenericCharStringSetTraits< CharType > ::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) More...
 
uint64_t get_uint64 (const typename GenericCharStringSetTraits< CharType > ::String &s, size_t depth) const
 

Static Public Member Functions

static Container allocate (size_t n)
 Allocate a new temporary string container with n empty Strings. More...
 
static void deallocate (Container &c)
 Deallocate a temporary string container. More...
 

Protected Attributes

Iterator begin_
 array of string pointers More...
 
Iterator end_
 

Additional Inherited Members

- Public Attributes inherited from GenericCharStringSetTraits< CharType >
const typedef CharCharIterator
 iterator of characters in a string More...
 

Detailed Description

template<typename CharType>
class tlx::sort_strings_detail::GenericCharStringSet< CharType >

Class implementing StringSet concept for char* and unsigned char* strings.

Definition at line 315 of file string_set.hpp.

Member Typedef Documentation

◆ Char

typedef Traits::Char Char

Definition at line 323 of file string_set.hpp.

◆ CharIterator

typedef Traits::CharIterator CharIterator

Definition at line 326 of file string_set.hpp.

◆ Container

Definition at line 327 of file string_set.hpp.

◆ Iterator

Definition at line 325 of file string_set.hpp.

◆ String

Definition at line 324 of file string_set.hpp.

◆ Traits

Definition at line 321 of file string_set.hpp.

Constructor & Destructor Documentation

◆ GenericCharStringSet() [1/2]

GenericCharStringSet ( Iterator  begin,
Iterator  end 
)
inline

Construct from begin and end string pointers.

Definition at line 330 of file string_set.hpp.

◆ GenericCharStringSet() [2/2]

GenericCharStringSet ( const Container c)
inlineexplicit

Construct from a string container.

Definition at line 335 of file string_set.hpp.

Member Function Documentation

◆ allocate()

static Container allocate ( size_t  n)
inlinestatic

Allocate a new temporary string container with n empty Strings.

Definition at line 367 of file string_set.hpp.

◆ begin()

Iterator begin ( ) const
inline

Iterator representing first String position.

Definition at line 342 of file string_set.hpp.

◆ deallocate()

static void deallocate ( Container c)
inlinestatic

Deallocate a temporary string container.

Definition at line 371 of file string_set.hpp.

◆ end()

Iterator end ( ) const
inline

Iterator representing beyond last String position.

Definition at line 344 of file string_set.hpp.

◆ get_chars()

CharIterator get_chars ( const String s,
size_t  depth 
) const
inline

Return CharIterator for referenced string, which belong to this set.

Definition at line 351 of file string_set.hpp.

◆ get_string()

std::string get_string ( const String s,
size_t  depth = 0 
) const
inline

Return complete string (for debugging purposes)

Definition at line 359 of file string_set.hpp.

◆ is_end()

bool is_end ( const String ,
const CharIterator i 
) const
inline

Returns true if CharIterator is at end of the given String.

Definition at line 355 of file string_set.hpp.

◆ operator[]()

String& operator[] ( Iterator  i) const
inline

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

Definition at line 347 of file string_set.hpp.

◆ size()

size_t size ( ) const
inline

Return size of string array.

Definition at line 340 of file string_set.hpp.

◆ sub()

GenericCharStringSet sub ( Iterator  begin,
Iterator  end 
) const
inline

Subset this string set using iterator range.

Definition at line 363 of file string_set.hpp.

Member Data Documentation

◆ begin_

Iterator begin_
protected

array of string pointers

Definition at line 376 of file string_set.hpp.

◆ end_

Iterator end_
protected

Definition at line 376 of file string_set.hpp.


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