SDSL: Succinct Data Structure Library
A C++ template library for succinct data structures
 All Classes Namespaces Files Functions Variables Typedefs Friends
Classes | Public Types | Public Member Functions | Static Public Member Functions
sdsl::_lcp_support_tree< Lcp, Cst > Class Template Reference

#include <lcp_support_tree.hpp>

List of all members.

Classes

class  type

Public Types

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

Public Member Functions

 _lcp_support_tree ()
 Default constructor.
 _lcp_support_tree (const _lcp_support_tree &lcp)
 Copy constructor.
template<class Text , class Sa >
 _lcp_support_tree (const Text &text, const Sa &sa, const Cst *cst)
 Construct the lcp array from a text and the corresponding suffix array.
template<uint8_t int_width, class size_type_class >
 _lcp_support_tree (int_vector_file_buffer< int_width, size_type_class > &lcp_buf, const Cst *cst=NULL)
 Construct the lcp array from an int_vector_file_buffer of the lcp array.
template<class Text , class Sa >
void construct (const Text &text, const Sa &sa, const Cst *cst)
template<uint8_t int_width, class size_type_class >
void construct (int_vector_file_buffer< int_width, size_type_class > &lcp_buf, const Cst *cst=NULL)
 Construct the lcp array from an lcp array.
size_type size () const
void set_cst (const Cst *cst)
size_type empty () const
void swap (_lcp_support_tree &lcp_c)
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
_lcp_support_treeoperator= (const _lcp_support_tree &lcp_c)
 Assignment Operator.
bool operator== (const _lcp_support_tree &lcp_c) const
 Equality Operator.
bool operator!= (const _lcp_support_tree &lcp_c) const
 Unequality Operator.
size_type serialize (std::ostream &out, structure_tree_node *v=NULL, std::string name="") const
 Serialize to a stream.
void load (std::istream &in, const Cst *cst=NULL)
 Load from a stream.

Static Public Member Functions

static size_type max_size ()

Detailed Description

template<class Lcp, class Cst>
class sdsl::_lcp_support_tree< Lcp, Cst >

This class composes a virtual lcp array from a lcp arrays which is ordered in suffix array order (e.g. lcp_kurtz or lcp_bitcompressed) and a compressed suffix tree like cst_sct3 or cst_sada. The time consumption of the []-operator depends on:


Constructor & Destructor Documentation

template<class Lcp , class Cst >
template<uint8_t int_width, class size_type_class >
sdsl::_lcp_support_tree< Lcp, Cst >::_lcp_support_tree ( int_vector_file_buffer< int_width, size_type_class > &  lcp_buf,
const Cst *  cst = NULL 
) [inline]

Construct the lcp array from an int_vector_file_buffer of the lcp array.

  \param lcp_buf  An int_vector_file_buf of the lcp array
  \param fc_bpss  A pointer to balanced parentheses support of the balanced parentheses representation of the Super-Cartesian Tree of the lcp array
Parameters:
fcrA pointer to the rank support of the first child bit_vector.

Member Function Documentation

template<class Lcp , class Cst >
const_iterator sdsl::_lcp_support_tree< Lcp, Cst >::begin ( ) const [inline]

Returns a const_iterator to the first element.

Required for the STL Container Concept.

See also:
end
template<class Lcp , class Cst >
template<class Text , class Sa >
void sdsl::_lcp_support_tree< Lcp, Cst >::construct ( const Text &  text,
const Sa &  sa,
const Cst *  cst 
)
template<class Lcp , class Cst >
const_iterator sdsl::_lcp_support_tree< Lcp, Cst >::end ( ) const [inline]

Returns a const_iterator to the element after the last element.

Required for the STL Container Concept.

See also:
begin.
template<class Lcp , class Cst >
void sdsl::_lcp_support_tree< Lcp, Cst >::load ( std::istream &  in,
const Cst *  cst = NULL 
) [inline]

Load from a stream.

Parameters:
inInputstream to load the data structure from.
fc_bpssA pointer to the balanced parentheses support for the first child bit_vector
fcrA pointer to the rank support for the first child bit_vector
template<class Lcp , class Cst >
bool sdsl::_lcp_support_tree< Lcp, Cst >::operator!= ( const _lcp_support_tree< Lcp, Cst > &  lcp_c) const [inline]

Unequality Operator.

Two Instances of lcp_kurtz are equal if not all their members are equal.

Required for the Equality Comparable Concept of the STL.
See also:
operator==
template<class Lcp , class Cst >
_lcp_support_tree& sdsl::_lcp_support_tree< Lcp, Cst >::operator= ( const _lcp_support_tree< Lcp, Cst > &  lcp_c) [inline]

Assignment Operator.

Required for the Assignable Concept of the STL.

template<class Lcp , class Cst >
bool sdsl::_lcp_support_tree< Lcp, Cst >::operator== ( const _lcp_support_tree< Lcp, Cst > &  lcp_c) const [inline]

Equality Operator.

Two Instances of lcp_kurtz are equal if all their members are equal.

Required for the Equality Comparable Concept of the STL.
See also:
operator!=
template<class Lcp , class Cst >
value_type sdsl::_lcp_support_tree< Lcp, 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}} $
Note
Required for the STL Random Access Container Concept.
template<class Lcp , class Cst >
size_type sdsl::_lcp_support_tree< Lcp, Cst >::serialize ( std::ostream &  out,
structure_tree_node v = NULL,
std::string  name = "" 
) const [inline]

Serialize to a stream.

Parameters:
outOutstream to write the data structure.
Returns:
The number of written bytes.

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