SDSL: Succinct Data Structure Library
A C++ template library for succinct data structures
 All Classes Namespaces Files Functions Variables Typedefs Friends
Public Types | Public Member Functions
sdsl::psi_of_csa_psi< CsaPsi > Class Template Reference

A helper class for the $\Psi$ and LF function for (compressed) suffix arrays that are based on the compressed $\Psi$ function. More...

#include <suffixarray_helper.hpp>

List of all members.

Public Types

typedef CsaPsi::value_type value_type
typedef CsaPsi::size_type size_type
typedef CsaPsi::difference_type difference_type
typedef
CsaPsi::enc_vector_type::const_iterator 
const_iterator

Public Member Functions

 psi_of_csa_psi (CsaPsi *csa_psi=NULL)
 Constructor.
 psi_of_csa_psi (const psi_of_csa_psi &psi_of_csa)
 Copy constructor.
value_type operator[] (size_type i) const
 Calculate the $\Psi$ value at position i.
value_type operator() (size_type i) const
 Calculate the LF mapping at position i.
psi_of_csa_psioperator= (const psi_of_csa_psi &psi_of_csa)
 Assignment operator.
size_type size () const
 Returns the size of the $\Psi$ function.
size_type empty () const
 Returns if the $\Psi$ function is empty.
void swap (psi_of_csa_psi &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

Detailed Description

template<class CsaPsi>
class sdsl::psi_of_csa_psi< CsaPsi >

A helper class for the $\Psi$ and LF function for (compressed) suffix arrays that are based on the compressed $\Psi$ function.


Member Function Documentation

template<class CsaPsi>
const_iterator sdsl::psi_of_csa_psi< CsaPsi >::begin ( ) const [inline]

Returns a const_iterator to the first element.

Required for the STL Container Concept.

See also:
end
template<class CsaPsi>
const_iterator sdsl::psi_of_csa_psi< CsaPsi >::end ( ) const [inline]

Returns a const_iterator to the element after the last element.

Required for the STL Container Concept.

See also:
begin.
template<class CsaPsi>
value_type sdsl::psi_of_csa_psi< CsaPsi >::operator() ( size_type  i) const [inline]

Calculate the LF mapping at position i.

The LF mapping function is the inverse to the $\Psi$ function. That is $LF[\Psi(i)]=i$.

Parameters:
iThe index for which the LF value should be calculated, $i\in [0..size()-1]$.
template<class CsaPsi>
value_type sdsl::psi_of_csa_psi< CsaPsi >::operator[] ( size_type  i) const [inline]

Calculate the $\Psi$ value at position i.

   \param i The index for which the \form#6 value should be calculated, \form#105.
   \par Time complexity

$ \Order{1} $, if the enc_vector_type of the csa returns the entry in constant time.


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