SDSL 3.0.1
Succinct Data Structure Library
Loading...
Searching...
No Matches
sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select > Class Template Reference

A class to represent the LCP array in compressed form. More...

#include <lcp_support_sada.hpp>

Classes

struct  type
 

Public Types

enum  { fast_access = 0 , text_order = 1 , sa_order = 0 }
 
typedef t_csa::value_type value_type
 
typedef random_access_const_iterator< _lcp_support_sadaconst_iterator
 
typedef const_iterator iterator
 
typedef const value_type const_reference
 
typedef const_reference reference
 
typedef const_referencepointer
 
typedef const pointer const_pointer
 
typedef int_vector ::size_type size_type
 
typedef ptrdiff_t difference_type
 
typedef t_bitvec bit_vector_type
 
typedef t_csa csa_type
 
typedef t_select select_type
 
typedef lcp_permuted_tag lcp_category
 

Public Member Functions

 _lcp_support_sada ()
 Default Constructor.
 
 _lcp_support_sada (const _lcp_support_sada &lcp_c)
 Copy constructor.
 
 _lcp_support_sada (_lcp_support_sada &&lcp_c)
 Move constructor.
 
_lcp_support_sadaoperator= (const _lcp_support_sada &lcp_c)
 Assignment Operator.
 
_lcp_support_sadaoperator= (_lcp_support_sada &&lcp_c)
 Assignment Move Operator.
 
 _lcp_support_sada (cache_config &config, const t_csa *f_csa)
 Constructor.
 
void set_csa (const t_csa *f_csa)
 
size_type size () const
 Number of elements in the instance.
 
bool empty () const
 Returns if the data structure is empty.
 
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.
 
value_type operator[] (size_type i) const
 []-operator
 
size_type serialize (std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const
 Serialize to a stream.
 
void load (std::istream &in, const t_csa *ccsa=nullptr)
 Load from a stream.
 
template<typename archive_t >
void CEREAL_SAVE_FUNCTION_NAME (archive_t &ar) const
 
template<typename archive_t >
void CEREAL_LOAD_FUNCTION_NAME (archive_t &ar)
 
bool operator== (_lcp_support_sada const &other) const noexcept
 Equality operator.
 
bool operator!= (_lcp_support_sada const &other) const noexcept
 Inequality operator.
 

Static Public Member Functions

static size_type max_size ()
 Returns the largest size that _lcp_support_sada can ever have.
 

Public Attributes

const t_csa *& csa = m_csa
 

Detailed Description

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
class sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >

A class to represent the LCP array in compressed form.

Template Parameters
t_csaType of the Underlying CSA.
t_bitvecType of the bitvector used to store the unary representation of the deltas of the permuted LCP array.
t_selectType of the select structure use to select on the bitvector of the unary representation of the PLCP array.
Space complexity
$ 2n+o(n) $ bits, where 2n is the worst case size of the unary encoding of the deltas of the PLCP array and o(n) for the select support data structure.
Reference
Kunihiko Sadakane: Succinct representations of lcp information and improvements in the compressed suffix arrays. SODA 2002: 225-232

Definition at line 41 of file lcp_support_sada.hpp.

Member Typedef Documentation

◆ bit_vector_type

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef t_bitvec sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::bit_vector_type

Definition at line 53 of file lcp_support_sada.hpp.

◆ const_iterator

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef random_access_const_iterator<_lcp_support_sada> sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::const_iterator

Definition at line 45 of file lcp_support_sada.hpp.

◆ const_pointer

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef const pointer sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::const_pointer

Definition at line 50 of file lcp_support_sada.hpp.

◆ const_reference

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef const value_type sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::const_reference

Definition at line 47 of file lcp_support_sada.hpp.

◆ csa_type

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef t_csa sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::csa_type

Definition at line 54 of file lcp_support_sada.hpp.

◆ difference_type

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef ptrdiff_t sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::difference_type

Definition at line 52 of file lcp_support_sada.hpp.

◆ iterator

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef const_iterator sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::iterator

Definition at line 46 of file lcp_support_sada.hpp.

◆ lcp_category

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef lcp_permuted_tag sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::lcp_category

Definition at line 57 of file lcp_support_sada.hpp.

◆ pointer

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef const_reference* sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::pointer

Definition at line 49 of file lcp_support_sada.hpp.

◆ reference

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef const_reference sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::reference

Definition at line 48 of file lcp_support_sada.hpp.

◆ select_type

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef t_select sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::select_type

Definition at line 55 of file lcp_support_sada.hpp.

◆ size_type

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef int_vector ::size_type sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::size_type

Definition at line 51 of file lcp_support_sada.hpp.

◆ value_type

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
typedef t_csa::value_type sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::value_type

Definition at line 44 of file lcp_support_sada.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
anonymous enum
Enumerator
fast_access 
text_order 
sa_order 

Definition at line 59 of file lcp_support_sada.hpp.

Constructor & Destructor Documentation

◆ _lcp_support_sada() [1/4]

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::_lcp_support_sada ( )
inline

Default Constructor.

Definition at line 81 of file lcp_support_sada.hpp.

◆ _lcp_support_sada() [2/4]

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::_lcp_support_sada ( const _lcp_support_sada< t_csa, t_bitvec, t_select > &  lcp_c)
inline

Copy constructor.

Definition at line 84 of file lcp_support_sada.hpp.

◆ _lcp_support_sada() [3/4]

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::_lcp_support_sada ( _lcp_support_sada< t_csa, t_bitvec, t_select > &&  lcp_c)
inline

Move constructor.

Definition at line 93 of file lcp_support_sada.hpp.

◆ _lcp_support_sada() [4/4]

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::_lcp_support_sada ( cache_config config,
const t_csa *  f_csa 
)
inline

Constructor.

Definition at line 120 of file lcp_support_sada.hpp.

Member Function Documentation

◆ begin()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
const_iterator sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::begin ( ) const
inline

Returns a const_iterator to the first element.

Definition at line 157 of file lcp_support_sada.hpp.

◆ CEREAL_LOAD_FUNCTION_NAME()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
template<typename archive_t >
void sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::CEREAL_LOAD_FUNCTION_NAME ( archive_t &  ar)
inline

Definition at line 200 of file lcp_support_sada.hpp.

◆ CEREAL_SAVE_FUNCTION_NAME()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
template<typename archive_t >
void sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::CEREAL_SAVE_FUNCTION_NAME ( archive_t &  ar) const
inline

Definition at line 193 of file lcp_support_sada.hpp.

◆ empty()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
bool sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::empty ( ) const
inline

Returns if the data structure is empty.

Definition at line 154 of file lcp_support_sada.hpp.

◆ end()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
const_iterator sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::end ( ) const
inline

Returns a const_iterator to the element after the last element.

Definition at line 160 of file lcp_support_sada.hpp.

◆ load()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
void sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::load ( std::istream &  in,
const t_csa *  ccsa = nullptr 
)
inline

Load from a stream.

Definition at line 185 of file lcp_support_sada.hpp.

◆ max_size()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
static size_type sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::max_size ( )
inlinestatic

Returns the largest size that _lcp_support_sada can ever have.

Definition at line 151 of file lcp_support_sada.hpp.

◆ operator!=()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
bool sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::operator!= ( _lcp_support_sada< t_csa, t_bitvec, t_select > const &  other) const
inlinenoexcept

Inequality operator.

Definition at line 214 of file lcp_support_sada.hpp.

◆ operator=() [1/2]

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
_lcp_support_sada & sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::operator= ( _lcp_support_sada< t_csa, t_bitvec, t_select > &&  lcp_c)
inline

Assignment Move Operator.

Definition at line 107 of file lcp_support_sada.hpp.

◆ operator=() [2/2]

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
_lcp_support_sada & sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::operator= ( const _lcp_support_sada< t_csa, t_bitvec, t_select > &  lcp_c)
inline

Assignment Operator.

Definition at line 96 of file lcp_support_sada.hpp.

◆ operator==()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
bool sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::operator== ( _lcp_support_sada< t_csa, t_bitvec, t_select > const &  other) const
inlinenoexcept

Equality operator.

Definition at line 208 of file lcp_support_sada.hpp.

◆ operator[]()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
value_type sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::operator[] ( size_type  i) const
inline

[]-operator

Parameters
iIndex of the value. $ i \in [0..size()-1]$. Time complexity: O(suffix array access)

Definition at line 166 of file lcp_support_sada.hpp.

◆ serialize()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
size_type sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::serialize ( std::ostream &  out,
structure_tree_node v = nullptr,
std::string  name = "" 
) const
inline

Serialize to a stream.

Definition at line 174 of file lcp_support_sada.hpp.

◆ set_csa()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
void sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::set_csa ( const t_csa *  f_csa)
inline

Definition at line 145 of file lcp_support_sada.hpp.

◆ size()

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
size_type sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::size ( ) const
inline

Number of elements in the instance.

Definition at line 148 of file lcp_support_sada.hpp.

Member Data Documentation

◆ csa

template<class t_csa = csa_sada<>, class t_bitvec = bit_vector, class t_select = typename t_bitvec::select_1_type>
const t_csa*& sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::csa = m_csa

Definition at line 79 of file lcp_support_sada.hpp.


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