SDSL 3.0.3
Succinct Data Structure Library
Loading...
Searching...
No Matches
sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type > Class Template Reference

A space-efficient representation for byte alphabets. More...

#include <csa_alphabet_strategy.hpp>

Classes

class  char2comp_wrapper
 Helper class for the char2comp mapping. More...
class  comp2char_wrapper
 Helper class for the comp2char mapping. More...

Public Types

enum  { int_width = 8 }
typedef int_vector ::size_type size_type
typedef char2comp_wrapper char2comp_type
typedef comp2char_wrapper comp2char_type
typedef C_array_type C_type
typedef uint16_t sigma_type
typedef uint8_t char_type
typedef uint8_t comp_char_type
typedef std::string string_type
typedef byte_alphabet_tag alphabet_category

Public Member Functions

 succinct_byte_alphabet ()
 Default constructor.
 succinct_byte_alphabet (int_vector_buffer< 8 > &text_buf, int_vector_size_type len)
 Construct from a byte-stream.
 succinct_byte_alphabet (succinct_byte_alphabet const &strat)
 Copy constructor.
 succinct_byte_alphabet (succinct_byte_alphabet &&strat)
 Move constructor.
succinct_byte_alphabetoperator= (succinct_byte_alphabet const &strat)
succinct_byte_alphabetoperator= (succinct_byte_alphabet &&strat)
size_type serialize (std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const
 Serialize method.
void load (std::istream &in)
 Load method.
bool operator== (succinct_byte_alphabet const &other) const noexcept
 Equality operator.
bool operator!= (succinct_byte_alphabet const &other) const noexcept
 Inequality operator.
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)

Public Attributes

const char2comp_type char2comp
const comp2char_type comp2char
C_type const & C
sigma_type const & sigma

Friends

class char2comp_wrapper
class comp2char_wrapper

Detailed Description

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
class sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >

A space-efficient representation for byte alphabets.

The mapping char2comp and its inverse comp2char is realized internally by a bitvector of size 256 bits and a rank and a select structure. The rank structure is used to calculate char2comp; the select structure is used to calculate comp2char. Array C is represented by a bit-compressed int_vector and sigma by a uint16_t. The types to represent char2comp, comp2char, and C can be specified by template parameters.

Definition at line 321 of file csa_alphabet_strategy.hpp.

Member Typedef Documentation

◆ alphabet_category

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
typedef byte_alphabet_tag sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::alphabet_category

Definition at line 338 of file csa_alphabet_strategy.hpp.

◆ C_type

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
typedef C_array_type sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::C_type

Definition at line 333 of file csa_alphabet_strategy.hpp.

◆ char2comp_type

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
typedef char2comp_wrapper sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::char2comp_type

Definition at line 331 of file csa_alphabet_strategy.hpp.

◆ char_type

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
typedef uint8_t sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::char_type

Definition at line 335 of file csa_alphabet_strategy.hpp.

◆ comp2char_type

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
typedef comp2char_wrapper sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::comp2char_type

Definition at line 332 of file csa_alphabet_strategy.hpp.

◆ comp_char_type

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
typedef uint8_t sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::comp_char_type

Definition at line 336 of file csa_alphabet_strategy.hpp.

◆ sigma_type

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
typedef uint16_t sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::sigma_type

Definition at line 334 of file csa_alphabet_strategy.hpp.

◆ size_type

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
typedef int_vector ::size_type sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::size_type

Definition at line 330 of file csa_alphabet_strategy.hpp.

◆ string_type

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
typedef std::string sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::string_type

Definition at line 337 of file csa_alphabet_strategy.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
anonymous enum
Enumerator
int_width 

Definition at line 339 of file csa_alphabet_strategy.hpp.

Constructor & Destructor Documentation

◆ succinct_byte_alphabet() [1/4]

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::succinct_byte_alphabet ( )
inline

Default constructor.

Definition at line 390 of file csa_alphabet_strategy.hpp.

◆ succinct_byte_alphabet() [2/4]

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::succinct_byte_alphabet ( int_vector_buffer< 8 > & text_buf,
int_vector_size_type len )
inline

Construct from a byte-stream.

Parameters
text_bufByte stream.
lenLength of the byte stream.

Definition at line 398 of file csa_alphabet_strategy.hpp.

◆ succinct_byte_alphabet() [3/4]

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::succinct_byte_alphabet ( succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type > const & strat)
inline

Copy constructor.

Definition at line 440 of file csa_alphabet_strategy.hpp.

◆ succinct_byte_alphabet() [4/4]

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::succinct_byte_alphabet ( succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type > && strat)
inline

Move constructor.

Definition at line 456 of file csa_alphabet_strategy.hpp.

Member Function Documentation

◆ CEREAL_LOAD_FUNCTION_NAME()

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
template<typename archive_t>
void sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::CEREAL_LOAD_FUNCTION_NAME ( archive_t & ar)
inline

Definition at line 546 of file csa_alphabet_strategy.hpp.

◆ CEREAL_SAVE_FUNCTION_NAME()

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
template<typename archive_t>
void sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::CEREAL_SAVE_FUNCTION_NAME ( archive_t & ar) const
inline

Definition at line 536 of file csa_alphabet_strategy.hpp.

◆ load()

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
void sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::load ( std::istream & in)
inline

Load method.

Definition at line 511 of file csa_alphabet_strategy.hpp.

◆ operator!=()

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
bool sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::operator!= ( succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type > const & other) const
inlinenoexcept

Inequality operator.

Definition at line 530 of file csa_alphabet_strategy.hpp.

◆ operator=() [1/2]

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
succinct_byte_alphabet & sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::operator= ( succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type > && strat)
inline

Definition at line 481 of file csa_alphabet_strategy.hpp.

◆ operator=() [2/2]

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
succinct_byte_alphabet & sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::operator= ( succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type > const & strat)
inline

Definition at line 471 of file csa_alphabet_strategy.hpp.

◆ operator==()

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
bool sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::operator== ( succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type > const & other) const
inlinenoexcept

Equality operator.

Definition at line 523 of file csa_alphabet_strategy.hpp.

◆ serialize()

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
size_type sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::serialize ( std::ostream & out,
structure_tree_node * v = nullptr,
std::string name = "" ) const
inline

Serialize method.

Definition at line 497 of file csa_alphabet_strategy.hpp.

◆ char2comp_wrapper

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
friend class char2comp_wrapper
friend

Definition at line 327 of file csa_alphabet_strategy.hpp.

◆ comp2char_wrapper

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
friend class comp2char_wrapper
friend

Definition at line 328 of file csa_alphabet_strategy.hpp.

Member Data Documentation

◆ C

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
C_type const& sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::C

Definition at line 378 of file csa_alphabet_strategy.hpp.

◆ char2comp

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
const char2comp_type sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::char2comp

Definition at line 376 of file csa_alphabet_strategy.hpp.

◆ comp2char

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
const comp2char_type sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::comp2char

Definition at line 377 of file csa_alphabet_strategy.hpp.

◆ sigma

template<class bit_vector_type, class rank_support_type, class select_support_type, class C_array_type>
sigma_type const& sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::sigma

Definition at line 379 of file csa_alphabet_strategy.hpp.


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