SDSL 3.0.1
Succinct Data Structure Library
sdsl::_lcp_support_tree2< t_dens, t_cst > Class Template Reference

An lcp array class for cst_sct3 and cst_sada. More...

#include <lcp_support_tree2.hpp>

Classes

struct  type
 

Public Types

enum  { fast_access = 0 , text_order = 0 , sa_order = 0 }
 
typedef int_vector ::value_type value_type
 
typedef random_access_const_iterator< _lcp_support_tree2const_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 int_vector ::difference_type difference_type
 
typedef t_cst cst_type
 
typedef wt_huff< bit_vector, rank_support_v5<>, select_support_scan< 1 >, select_support_scan< 0 > > small_lcp_type
 
typedef lcp_tree_and_lf_compressed_tag lcp_category
 

Public Member Functions

 _lcp_support_tree2 ()
 Default constructor. More...
 
 _lcp_support_tree2 (const _lcp_support_tree2 &)=default
 Copy / Move constructor. More...
 
 _lcp_support_tree2 (_lcp_support_tree2 &&)=default
 
_lcp_support_tree2operator= (const _lcp_support_tree2 &)=default
 
_lcp_support_tree2operator= (_lcp_support_tree2 &&)=default
 
 _lcp_support_tree2 (cache_config &config, const cst_type *cst=nullptr)
 Constructor. More...
 
void set_cst (const cst_type *cst)
 
size_type size () const
 
size_type empty () const
 
const_iterator begin () const
 Returns a const_iterator to the first element. More...
 
const_iterator end () const
 Returns a const_iterator to the element after the last element. More...
 
value_type operator[] (size_type i) const
 []-operator More...
 
size_type serialize (std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const
 Serialize to a stream. More...
 
void load (std::istream &in, const t_cst *cst=nullptr)
 Load from a stream. More...
 
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_tree2 const &other) const noexcept
 Equality operator. More...
 
bool operator!= (_lcp_support_tree2 const &other) const noexcept
 Inequality operator. More...
 

Static Public Member Functions

static size_type max_size ()
 

Detailed Description

template<uint32_t t_dens, class t_cst>
class sdsl::_lcp_support_tree2< t_dens, t_cst >

An lcp array class for cst_sct3 and cst_sada.

The time of the []-operator depends on:

  • The time of the []-operation of the wt_huff
  • The time of the LF calculation of the underlying CSA of the CST
  • The time of the tlcp_idx function of the CST
Template Parameters
t_densSample density in the CST.
t_cstUnderlying CST.

Definition at line 37 of file lcp_support_tree2.hpp.

Member Typedef Documentation

◆ const_iterator

template<uint32_t t_dens, class t_cst >
typedef random_access_const_iterator<_lcp_support_tree2> sdsl::_lcp_support_tree2< t_dens, t_cst >::const_iterator

Definition at line 41 of file lcp_support_tree2.hpp.

◆ const_pointer

template<uint32_t t_dens, class t_cst >
typedef const pointer sdsl::_lcp_support_tree2< t_dens, t_cst >::const_pointer

Definition at line 46 of file lcp_support_tree2.hpp.

◆ const_reference

template<uint32_t t_dens, class t_cst >
typedef const value_type sdsl::_lcp_support_tree2< t_dens, t_cst >::const_reference

Definition at line 43 of file lcp_support_tree2.hpp.

◆ cst_type

template<uint32_t t_dens, class t_cst >
typedef t_cst sdsl::_lcp_support_tree2< t_dens, t_cst >::cst_type

Definition at line 49 of file lcp_support_tree2.hpp.

◆ difference_type

template<uint32_t t_dens, class t_cst >
typedef int_vector ::difference_type sdsl::_lcp_support_tree2< t_dens, t_cst >::difference_type

Definition at line 48 of file lcp_support_tree2.hpp.

◆ iterator

template<uint32_t t_dens, class t_cst >
typedef const_iterator sdsl::_lcp_support_tree2< t_dens, t_cst >::iterator

Definition at line 42 of file lcp_support_tree2.hpp.

◆ lcp_category

template<uint32_t t_dens, class t_cst >
typedef lcp_tree_and_lf_compressed_tag sdsl::_lcp_support_tree2< t_dens, t_cst >::lcp_category

Definition at line 52 of file lcp_support_tree2.hpp.

◆ pointer

template<uint32_t t_dens, class t_cst >
typedef const_reference* sdsl::_lcp_support_tree2< t_dens, t_cst >::pointer

Definition at line 45 of file lcp_support_tree2.hpp.

◆ reference

template<uint32_t t_dens, class t_cst >
typedef const_reference sdsl::_lcp_support_tree2< t_dens, t_cst >::reference

Definition at line 44 of file lcp_support_tree2.hpp.

◆ size_type

template<uint32_t t_dens, class t_cst >
typedef int_vector ::size_type sdsl::_lcp_support_tree2< t_dens, t_cst >::size_type

Definition at line 47 of file lcp_support_tree2.hpp.

◆ small_lcp_type

template<uint32_t t_dens, class t_cst >
typedef wt_huff<bit_vector, rank_support_v5<>, select_support_scan<1>, select_support_scan<0> > sdsl::_lcp_support_tree2< t_dens, t_cst >::small_lcp_type

Definition at line 50 of file lcp_support_tree2.hpp.

◆ value_type

template<uint32_t t_dens, class t_cst >
typedef int_vector ::value_type sdsl::_lcp_support_tree2< t_dens, t_cst >::value_type

Definition at line 40 of file lcp_support_tree2.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<uint32_t t_dens, class t_cst >
anonymous enum
Enumerator
fast_access 
text_order 
sa_order 

Definition at line 54 of file lcp_support_tree2.hpp.

Constructor & Destructor Documentation

◆ _lcp_support_tree2() [1/4]

template<uint32_t t_dens, class t_cst >
sdsl::_lcp_support_tree2< t_dens, t_cst >::_lcp_support_tree2 ( )
inline

Default constructor.

Definition at line 74 of file lcp_support_tree2.hpp.

◆ _lcp_support_tree2() [2/4]

template<uint32_t t_dens, class t_cst >
sdsl::_lcp_support_tree2< t_dens, t_cst >::_lcp_support_tree2 ( const _lcp_support_tree2< t_dens, t_cst > &  )
default

Copy / Move constructor.

◆ _lcp_support_tree2() [3/4]

template<uint32_t t_dens, class t_cst >
sdsl::_lcp_support_tree2< t_dens, t_cst >::_lcp_support_tree2 ( _lcp_support_tree2< t_dens, t_cst > &&  )
default

◆ _lcp_support_tree2() [4/4]

template<uint32_t t_dens, class t_cst >
sdsl::_lcp_support_tree2< t_dens, t_cst >::_lcp_support_tree2 ( cache_config config,
const cst_type cst = nullptr 
)
inline

Constructor.

Parameters
configCache configuration.

Definition at line 86 of file lcp_support_tree2.hpp.

Member Function Documentation

◆ begin()

template<uint32_t t_dens, class t_cst >
const_iterator sdsl::_lcp_support_tree2< t_dens, t_cst >::begin ( ) const
inline

Returns a const_iterator to the first element.

Definition at line 114 of file lcp_support_tree2.hpp.

◆ CEREAL_LOAD_FUNCTION_NAME()

template<uint32_t t_dens, class t_cst >
template<typename archive_t >
void sdsl::_lcp_support_tree2< t_dens, t_cst >::CEREAL_LOAD_FUNCTION_NAME ( archive_t &  ar)
inline

Definition at line 174 of file lcp_support_tree2.hpp.

◆ CEREAL_SAVE_FUNCTION_NAME()

template<uint32_t t_dens, class t_cst >
template<typename archive_t >
void sdsl::_lcp_support_tree2< t_dens, t_cst >::CEREAL_SAVE_FUNCTION_NAME ( archive_t &  ar) const
inline

Definition at line 167 of file lcp_support_tree2.hpp.

◆ empty()

template<uint32_t t_dens, class t_cst >
size_type sdsl::_lcp_support_tree2< t_dens, t_cst >::empty ( ) const
inline

Definition at line 111 of file lcp_support_tree2.hpp.

◆ end()

template<uint32_t t_dens, class t_cst >
const_iterator sdsl::_lcp_support_tree2< t_dens, t_cst >::end ( ) const
inline

Returns a const_iterator to the element after the last element.

Definition at line 117 of file lcp_support_tree2.hpp.

◆ load()

template<uint32_t t_dens, class t_cst >
void sdsl::_lcp_support_tree2< t_dens, t_cst >::load ( std::istream &  in,
const t_cst *  cst = nullptr 
)
inline

Load from a stream.

Definition at line 159 of file lcp_support_tree2.hpp.

◆ max_size()

template<uint32_t t_dens, class t_cst >
static size_type sdsl::_lcp_support_tree2< t_dens, t_cst >::max_size ( )
inlinestatic

Definition at line 109 of file lcp_support_tree2.hpp.

◆ operator!=()

template<uint32_t t_dens, class t_cst >
bool sdsl::_lcp_support_tree2< t_dens, t_cst >::operator!= ( _lcp_support_tree2< t_dens, t_cst > const &  other) const
inlinenoexcept

Inequality operator.

Definition at line 187 of file lcp_support_tree2.hpp.

◆ operator=() [1/2]

template<uint32_t t_dens, class t_cst >
_lcp_support_tree2 & sdsl::_lcp_support_tree2< t_dens, t_cst >::operator= ( _lcp_support_tree2< t_dens, t_cst > &&  )
default

◆ operator=() [2/2]

template<uint32_t t_dens, class t_cst >
_lcp_support_tree2 & sdsl::_lcp_support_tree2< t_dens, t_cst >::operator= ( const _lcp_support_tree2< t_dens, t_cst > &  )
default

◆ operator==()

template<uint32_t t_dens, class t_cst >
bool sdsl::_lcp_support_tree2< t_dens, t_cst >::operator== ( _lcp_support_tree2< t_dens, t_cst > const &  other) const
inlinenoexcept

Equality operator.

Definition at line 181 of file lcp_support_tree2.hpp.

◆ operator[]()

template<uint32_t t_dens, class t_cst >
value_type sdsl::_lcp_support_tree2< t_dens, t_cst >::operator[] ( size_type  i) const
inline

[]-operator

Parameters
iIndex of the value. $ i \in [0..size()-1]$.
Time complexity
$ \Order{t_{find\_close} + t_{rank}} $

Definition at line 124 of file lcp_support_tree2.hpp.

◆ serialize()

template<uint32_t t_dens, class t_cst >
size_type sdsl::_lcp_support_tree2< t_dens, t_cst >::serialize ( std::ostream &  out,
structure_tree_node v = nullptr,
std::string  name = "" 
) const
inline

Serialize to a stream.

Definition at line 148 of file lcp_support_tree2.hpp.

◆ set_cst()

template<uint32_t t_dens, class t_cst >
void sdsl::_lcp_support_tree2< t_dens, t_cst >::set_cst ( const cst_type cst)
inline

Definition at line 105 of file lcp_support_tree2.hpp.

◆ size()

template<uint32_t t_dens, class t_cst >
size_type sdsl::_lcp_support_tree2< t_dens, t_cst >::size ( ) const
inline

Definition at line 107 of file lcp_support_tree2.hpp.


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