SDSL: Succinct Data Structure Library
A C++ template library for succinct data structures
|
A wrapper class for the and LF function for (compressed) suffix arrays that are based on a wavelet tree (like sdsl::csa_wt). More...
#include <csa_wt.hpp>
Public Types | |
typedef CsaWT::value_type | value_type |
typedef CsaWT::size_type | size_type |
typedef CsaWT::char_type | char_type |
typedef CsaWT::difference_type | difference_type |
typedef random_access_const_iterator < psi_of_csa_wt > | const_iterator |
Public Member Functions | |
psi_of_csa_wt (CsaWT *csa_wt=NULL) | |
Constructor. | |
psi_of_csa_wt (const psi_of_csa_wt &psi_of_csa) | |
Copy constructor. | |
value_type | operator[] (size_type i) const |
Calculate the value at position i. | |
value_type | psi_k (size_type i, size_type k) const |
Apply k times to the value at position i. | |
value_type | operator() (size_type i) const |
Calculate the LF mapping at position i. | |
value_type | lf_k (size_type i, size_type k) const |
Apply LF k times to the value at position i. | |
psi_of_csa_wt & | operator= (const psi_of_csa_wt &psi_of_csa) |
Assignment operator. | |
bool | operator== (const psi_of_csa_wt &psi) |
Equality operator. | |
size_type | size () const |
Returns the size of the function. | |
size_type | empty () const |
Returns if the function is empty. | |
void | swap (psi_of_csa_wt &psi_of_csa) |
Swap operation require by the STL. | |
const_iterator | begin () const |
Returns a const_iterator to the first element. | |
const_iterator | end () const |
Returns a const_iterator to the element after the last element. | |
uint32_t | get_sample_dens () const |
A wrapper class for the and LF function for (compressed) suffix arrays that are based on a wavelet tree (like sdsl::csa_wt).
const_iterator sdsl::psi_of_csa_wt< CsaWT >::begin | ( | ) | const [inline] |
const_iterator sdsl::psi_of_csa_wt< CsaWT >::end | ( | ) | const [inline] |
Returns a const_iterator to the element after the last element.
Required for the STL Container Concept.
value_type sdsl::psi_of_csa_wt< CsaWT >::lf_k | ( | size_type | i, |
size_type | k | ||
) | const [inline] |
Apply LF k times to the value at position i.
\param i The index for which LF should be applied k times, \form#105.
k | Number of times LF should be applied |
value_type sdsl::psi_of_csa_wt< CsaWT >::operator() | ( | size_type | i | ) | const [inline] |
Calculate the LF mapping at position i.
The LF mapping function is the inverse to the function. That is .
i | The index for which the LF value should be calculated, . |
bool sdsl::psi_of_csa_wt< CsaWT >::operator== | ( | const psi_of_csa_wt< CsaWT > & | psi | ) | [inline] |
Equality operator.
return Always true, since all wrapper objects are equal only the reference to the supported csa differs.
value_type sdsl::psi_of_csa_wt< CsaWT >::operator[] | ( | size_type | i | ) | const [inline] |
Calculate the value at position i.
\param i The index for which the \form#6 value should be calculated, \form#105. \par Time complexity
value_type sdsl::psi_of_csa_wt< CsaWT >::psi_k | ( | size_type | i, |
size_type | k | ||
) | const [inline] |
Apply k times to the value at position i.
\param i The index for which \form#6 should be applied k times, \form#105.
k | Number of times should be applied |