SDSL 3.0.3
Succinct Data Structure Library
Loading...
Searching...
No Matches
sdsl::_lcp_support_tree< t_lcp, t_cst > Class Template Reference

This class composes a virtual LCP array from a LCP arrays which is in suffix array order (e.g. More...

#include <lcp_support_tree.hpp>

Classes

struct  type

Public Types

enum  { fast_access = 0 , text_order = t_lcp::text_order , sa_order = t_lcp::sa_order }
typedef t_lcp::value_type value_type
typedef random_access_const_iterator< _lcp_support_treeconst_iterator
typedef const_iterator iterator
typedef const value_type const_reference
typedef const_reference reference
typedef const_referencepointer
typedef const pointer const_pointer
typedef t_lcp::size_type size_type
typedef t_lcp::difference_type difference_type
typedef lcp_tree_compressed_tag lcp_category

Public Member Functions

 _lcp_support_tree ()=default
 Default constructor.
 ~_lcp_support_tree ()=default
 _lcp_support_tree (_lcp_support_tree const &)=default
 Copy/Move constructor.
 _lcp_support_tree (_lcp_support_tree &&)=default
_lcp_support_treeoperator= (_lcp_support_tree const &)=default
_lcp_support_treeoperator= (_lcp_support_tree &&)=default
 _lcp_support_tree (cache_config &config, t_cst const *cst=nullptr)
 Constructor.
size_type size () const
void set_cst (t_cst const *cst)
size_type empty () const
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_cst const *cst=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_tree const &other) const noexcept
 Equality operator.
bool operator!= (_lcp_support_tree const &other) const noexcept
 Inequality operator.

Static Public Member Functions

static size_type max_size ()

Detailed Description

template<class t_lcp, class t_cst>
class sdsl::_lcp_support_tree< t_lcp, t_cst >

This class composes a virtual LCP array from a LCP arrays which is in suffix array order (e.g.

lcp_byte or lcp_bitcompressed) and a CST. The time consumption of the []-operator depends on:

  • The time consumption of the tlcp_idx function of the CST
  • The access time to the suffix array ordered LCP array
Template Parameters
t_lcpType of the underlying LCP array. Must be an suffix array ordered one.
t_cstType of the underlying CST.

Definition at line 79 of file lcp_support_tree.hpp.

Member Typedef Documentation

◆ const_iterator

template<class t_lcp, class t_cst>
typedef random_access_const_iterator<_lcp_support_tree> sdsl::_lcp_support_tree< t_lcp, t_cst >::const_iterator

Definition at line 83 of file lcp_support_tree.hpp.

◆ const_pointer

template<class t_lcp, class t_cst>
typedef const pointer sdsl::_lcp_support_tree< t_lcp, t_cst >::const_pointer

Definition at line 88 of file lcp_support_tree.hpp.

◆ const_reference

template<class t_lcp, class t_cst>
typedef const value_type sdsl::_lcp_support_tree< t_lcp, t_cst >::const_reference

Definition at line 85 of file lcp_support_tree.hpp.

◆ difference_type

template<class t_lcp, class t_cst>
typedef t_lcp::difference_type sdsl::_lcp_support_tree< t_lcp, t_cst >::difference_type

Definition at line 90 of file lcp_support_tree.hpp.

◆ iterator

template<class t_lcp, class t_cst>
typedef const_iterator sdsl::_lcp_support_tree< t_lcp, t_cst >::iterator

Definition at line 84 of file lcp_support_tree.hpp.

◆ lcp_category

template<class t_lcp, class t_cst>
typedef lcp_tree_compressed_tag sdsl::_lcp_support_tree< t_lcp, t_cst >::lcp_category

Definition at line 92 of file lcp_support_tree.hpp.

◆ pointer

template<class t_lcp, class t_cst>
typedef const_reference* sdsl::_lcp_support_tree< t_lcp, t_cst >::pointer

Definition at line 87 of file lcp_support_tree.hpp.

◆ reference

template<class t_lcp, class t_cst>
typedef const_reference sdsl::_lcp_support_tree< t_lcp, t_cst >::reference

Definition at line 86 of file lcp_support_tree.hpp.

◆ size_type

template<class t_lcp, class t_cst>
typedef t_lcp::size_type sdsl::_lcp_support_tree< t_lcp, t_cst >::size_type

Definition at line 89 of file lcp_support_tree.hpp.

◆ value_type

template<class t_lcp, class t_cst>
typedef t_lcp::value_type sdsl::_lcp_support_tree< t_lcp, t_cst >::value_type

Definition at line 82 of file lcp_support_tree.hpp.

Member Enumeration Documentation

◆ anonymous enum

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

Definition at line 94 of file lcp_support_tree.hpp.

Constructor & Destructor Documentation

◆ _lcp_support_tree() [1/4]

template<class t_lcp, class t_cst>
sdsl::_lcp_support_tree< t_lcp, t_cst >::_lcp_support_tree ( )
default

Default constructor.

◆ ~_lcp_support_tree()

template<class t_lcp, class t_cst>
sdsl::_lcp_support_tree< t_lcp, t_cst >::~_lcp_support_tree ( )
default

◆ _lcp_support_tree() [2/4]

template<class t_lcp, class t_cst>
sdsl::_lcp_support_tree< t_lcp, t_cst >::_lcp_support_tree ( _lcp_support_tree< t_lcp, t_cst > const & )
default

Copy/Move constructor.

◆ _lcp_support_tree() [3/4]

template<class t_lcp, class t_cst>
sdsl::_lcp_support_tree< t_lcp, t_cst >::_lcp_support_tree ( _lcp_support_tree< t_lcp, t_cst > && )
default

◆ _lcp_support_tree() [4/4]

template<class t_lcp, class t_cst>
sdsl::_lcp_support_tree< t_lcp, t_cst >::_lcp_support_tree ( cache_config & config,
t_cst const * cst = nullptr )
inline

Constructor.

Parameters
configCache configuration.
cstA pointer to the CST.

Definition at line 129 of file lcp_support_tree.hpp.

Member Function Documentation

◆ begin()

template<class t_lcp, class t_cst>
const_iterator sdsl::_lcp_support_tree< t_lcp, t_cst >::begin ( ) const
inline

Returns a const_iterator to the first element.

Definition at line 170 of file lcp_support_tree.hpp.

◆ CEREAL_LOAD_FUNCTION_NAME()

template<class t_lcp, class t_cst>
template<typename archive_t>
void sdsl::_lcp_support_tree< t_lcp, t_cst >::CEREAL_LOAD_FUNCTION_NAME ( archive_t & ar)
inline

Definition at line 215 of file lcp_support_tree.hpp.

◆ CEREAL_SAVE_FUNCTION_NAME()

template<class t_lcp, class t_cst>
template<typename archive_t>
void sdsl::_lcp_support_tree< t_lcp, t_cst >::CEREAL_SAVE_FUNCTION_NAME ( archive_t & ar) const
inline

Definition at line 209 of file lcp_support_tree.hpp.

◆ empty()

template<class t_lcp, class t_cst>
size_type sdsl::_lcp_support_tree< t_lcp, t_cst >::empty ( ) const
inline

Definition at line 164 of file lcp_support_tree.hpp.

◆ end()

template<class t_lcp, class t_cst>
const_iterator sdsl::_lcp_support_tree< t_lcp, t_cst >::end ( ) const
inline

Returns a const_iterator to the element after the last element.

Definition at line 176 of file lcp_support_tree.hpp.

◆ load()

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

Load from a stream.

Definition at line 202 of file lcp_support_tree.hpp.

◆ max_size()

template<class t_lcp, class t_cst>
size_type sdsl::_lcp_support_tree< t_lcp, t_cst >::max_size ( )
inlinestatic

Definition at line 159 of file lcp_support_tree.hpp.

◆ operator!=()

template<class t_lcp, class t_cst>
bool sdsl::_lcp_support_tree< t_lcp, t_cst >::operator!= ( _lcp_support_tree< t_lcp, t_cst > const & other) const
inlinenoexcept

Inequality operator.

Definition at line 227 of file lcp_support_tree.hpp.

◆ operator=() [1/2]

template<class t_lcp, class t_cst>
_lcp_support_tree & sdsl::_lcp_support_tree< t_lcp, t_cst >::operator= ( _lcp_support_tree< t_lcp, t_cst > && )
default

◆ operator=() [2/2]

template<class t_lcp, class t_cst>
_lcp_support_tree & sdsl::_lcp_support_tree< t_lcp, t_cst >::operator= ( _lcp_support_tree< t_lcp, t_cst > const & )
default

◆ operator==()

template<class t_lcp, class t_cst>
bool sdsl::_lcp_support_tree< t_lcp, t_cst >::operator== ( _lcp_support_tree< t_lcp, t_cst > const & other) const
inlinenoexcept

Equality operator.

Definition at line 221 of file lcp_support_tree.hpp.

◆ operator[]()

template<class t_lcp, class t_cst>
value_type sdsl::_lcp_support_tree< t_lcp, 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 186 of file lcp_support_tree.hpp.

◆ serialize()

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

Serialize to a stream.

Definition at line 192 of file lcp_support_tree.hpp.

◆ set_cst()

template<class t_lcp, class t_cst>
void sdsl::_lcp_support_tree< t_lcp, t_cst >::set_cst ( t_cst const * cst)
inline

Definition at line 154 of file lcp_support_tree.hpp.

◆ size()

template<class t_lcp, class t_cst>
size_type sdsl::_lcp_support_tree< t_lcp, t_cst >::size ( ) const
inline

Definition at line 149 of file lcp_support_tree.hpp.


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