tlx
|
Class implementing StringSet concept for suffix sorting indexes of a std::string text object. More...
#include <string_set.hpp>
Public Member Functions | |
StringSuffixSet (const Text &text, const Iterator &begin, const Iterator &end) | |
Construct from begin and end string pointers. | |
size_t | size () const |
Return size of string array. | |
Iterator | begin () const |
Iterator representing first String position. | |
Iterator | end () const |
Iterator representing beyond last String position. | |
String & | operator[] (const Iterator &i) const |
Array access (readable and writable) to String objects. | |
CharIterator | get_chars (const String &s, size_t depth) const |
Return CharIterator for referenced string, which belongs to this set. | |
bool | is_end (const String &, const CharIterator &i) const |
Returns true if CharIterator is at end of the given String. | |
std::string | get_string (const String &s, size_t depth=0) const |
Return complete string (for debugging purposes) | |
StringSuffixSet | sub (Iterator begin, Iterator end) const |
Subset this string set using iterator range. | |
Container | allocate (size_t n) const |
Allocate a new temporary string container with n empty Strings. | |
StringSuffixSet (Container &c) | |
Construct from a string container. | |
![]() | |
Traits::String & | at (size_t i) const |
index-based array access (readable and writable) to String objects. | |
StringSuffixSet | 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 |
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. | |
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::uint8_t | get_uint8 (const typename Traits::String &s, size_t depth) const |
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::uint16_t | get_uint16 (const typename Traits::String &s, size_t depth) const |
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::uint32_t | get_uint32 (const typename Traits::String &s, size_t depth) const |
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::uint64_t | get_uint64 (const typename Traits::String &s, size_t depth) const |
Static Public Member Functions | |
static StringSuffixSet | Initialize (const Text &text, std::vector< String > &sa) |
Initializing constructor which fills output vector sa with indices. | |
static void | deallocate (Container &c) |
Deallocate a temporary string container. | |
Protected Attributes | |
const Text * | text_ |
reference to base text | |
Iterator | begin_ |
iterators inside the output suffix array. | |
Iterator | end_ |
Additional Inherited Members | |
![]() | |
typedef std::string | Text |
exported alias for assumed string container | |
typedef std::uint8_t | Char |
exported alias for character type | |
typedef Text::size_type | String |
String reference: suffix index of the text. | |
typedef std::vector< String >::iterator | Iterator |
Iterator over string references: using std::vector's iterator over suffix array vector. | |
typedef const Char * | CharIterator |
iterator of characters in a string | |
typedef std::pair< Text, std::vector< String > > | Container |
exported alias for assumed string container | |
Class implementing StringSet concept for suffix sorting indexes of a std::string text object.
Definition at line 575 of file string_set.hpp.
|
inline |
Construct from begin and end string pointers.
Definition at line 581 of file string_set.hpp.
|
inlineexplicit |
Construct from a string container.
Definition at line 632 of file string_set.hpp.
|
inline |
Allocate a new temporary string container with n empty Strings.
Definition at line 624 of file string_set.hpp.
|
inline |
Iterator representing first String position.
Definition at line 599 of file string_set.hpp.
|
inlinestatic |
Deallocate a temporary string container.
Definition at line 628 of file string_set.hpp.
|
inline |
Iterator representing beyond last String position.
Definition at line 601 of file string_set.hpp.
|
inline |
Return CharIterator for referenced string, which belongs to this set.
Definition at line 608 of file string_set.hpp.
|
inline |
Return complete string (for debugging purposes)
Definition at line 616 of file string_set.hpp.
|
inlinestatic |
Initializing constructor which fills output vector sa with indices.
Definition at line 589 of file string_set.hpp.
|
inline |
Returns true if CharIterator is at end of the given String.
Definition at line 612 of file string_set.hpp.
Array access (readable and writable) to String objects.
Definition at line 604 of file string_set.hpp.
|
inline |
Return size of string array.
Definition at line 597 of file string_set.hpp.
|
inline |
Subset this string set using iterator range.
Definition at line 620 of file string_set.hpp.
|
protected |
iterators inside the output suffix array.
Definition at line 642 of file string_set.hpp.
|
protected |
Definition at line 642 of file string_set.hpp.
|
protected |
reference to base text
Definition at line 639 of file string_set.hpp.