Template Class HuffmanFMIndex

Class Documentation

template<class RS = RankSelect>
class HuffmanFMIndex

the FM-index of a text on the wavelet tree of Huffman of its transform, with the places of the suffixes at the multiples of mu

Public Functions

explicit HuffmanFMIndex(std::string_view s, std::size_t mu = 32)

the index of s

Pre:

mu > 0, s.size() < 2^32

inline std::size_t size(void) const

the length n of the text

std::pair<std::size_t, std::size_t> range(std::string_view P) const

the range [ first , last ) of the rows prefixed by P, empty if none

Pre:

P not empty

std::size_t count(std::string_view P) const

the number of the occurrences of P

Pre:

P not empty

std::vector<std::size_t> locate(std::string_view P) const

the places of the occurrences of P, in increasing order

Pre:

P not empty

std::string extract(std::size_t i, std::size_t j) const

s[ i , j )

Pre:

i <= j <= n

std::size_t sizeInBits(void) const

the bits of the index: the tree, the marks with their directory, the samples and the counts of the symbols