Effective implementation of algorithms (Master Thesis)
Effective and error-free implementation of algorithms
strings::suffix_array::LCPManzini Class Reference

#include <lcp_manzini.h>

List of all members.

Static Public Member Functions

template<typename _Iterator , typename _SAIterator >
static void getHeightArray (_Iterator seq_first, _Iterator seq_last, _SAIterator sa_first, _SAIterator sa_last, int alphabet_size, std::vector< int > *out)

Private Member Functions

 DISALLOW_EVIL_CONSTRUCTORS (LCPManzini)

Static Private Member Functions

template<typename _Iterator >
static void compute_counts (_Iterator first, _Iterator last, int alphabet_size, std::vector< int > *out)
template<typename _Iterator , typename _SAIterator >
static int compute_rank_next (_Iterator seq_first, _Iterator seq_last, _SAIterator sa_first, _SAIterator sa_last, int alphabet_size, std::vector< int > *rank_next)

Member Function Documentation

template<typename _Iterator >
static void strings::suffix_array::LCPManzini::compute_counts ( _Iterator  first,
_Iterator  last,
int  alphabet_size,
std::vector< int > *  out 
) [inline, static, private]
template<typename _Iterator , typename _SAIterator >
static int strings::suffix_array::LCPManzini::compute_rank_next ( _Iterator  seq_first,
_Iterator  seq_last,
_SAIterator  sa_first,
_SAIterator  sa_last,
int  alphabet_size,
std::vector< int > *  rank_next 
) [inline, static, private]

Compute the "rankNext" map as defined in [ltLCP] RankNext is defined as following RankNext[i] = Rank[sa[i] + 1] for i=[0..n), i != Rank[n] for i = Rank[i] is RankNext[i] undefined as it is the last element;

Returns:
value i which is not amongs values of RankNext array (one value is missing)
strings::suffix_array::LCPManzini::DISALLOW_EVIL_CONSTRUCTORS ( LCPManzini  ) [private]
template<typename _Iterator , typename _SAIterator >
static void strings::suffix_array::LCPManzini::getHeightArray ( _Iterator  seq_first,
_Iterator  seq_last,
_SAIterator  sa_first,
_SAIterator  sa_last,
int  alphabet_size,
std::vector< int > *  out 
) [inline, static]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines