SDSL 3.0.3
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 (_lcp_support_sada const &lcp_c)
 Copy constructor.
 
 _lcp_support_sada (_lcp_support_sada &&lcp_c)
 Move constructor.
 
_lcp_support_sadaoperator= (_lcp_support_sada const &lcp_c)
 Assignment Operator.
 
_lcp_support_sadaoperator= (_lcp_support_sada &&lcp_c)
 Assignment Move Operator.
 
 _lcp_support_sada (cache_config &config, t_csa const *f_csa)
 Constructor.
 
void set_csa (t_csa const *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, t_csa const *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

t_csa const *& 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 49 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 61 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 53 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 58 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 55 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 62 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 60 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 54 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 65 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 57 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 56 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 63 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 59 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 52 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 67 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 89 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 ( _lcp_support_sada< t_csa, t_bitvec, t_select > const & lcp_c)
inline

Copy constructor.

Definition at line 93 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 102 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,
t_csa const * f_csa )
inline

Constructor.

Definition at line 132 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 184 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 233 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 226 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 178 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 190 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,
t_csa const * ccsa = nullptr )
inline

Load from a stream.

Definition at line 218 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 172 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 247 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 119 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= ( _lcp_support_sada< t_csa, t_bitvec, t_select > const & lcp_c)
inline

Assignment Operator.

Definition at line 108 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 241 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 199 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 207 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 ( t_csa const * f_csa)
inline

Definition at line 160 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 166 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>
t_csa const*& sdsl::_lcp_support_sada< t_csa, t_bitvec, t_select >::csa = m_csa

Definition at line 87 of file lcp_support_sada.hpp.


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