SDSL 3.0.3
Succinct Data Structure Library
|
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_alphabet & | operator= (succinct_byte_alphabet const &strat) |
succinct_byte_alphabet & | operator= (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 |
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
anonymous enum |
Enumerator | |
---|---|
int_width |
Definition at line 339 of file csa_alphabet_strategy.hpp.
|
inline |
Default constructor.
Definition at line 390 of file csa_alphabet_strategy.hpp.
|
inline |
Construct from a byte-stream.
text_buf | Byte stream. |
len | Length of the byte stream. |
Definition at line 398 of file csa_alphabet_strategy.hpp.
|
inline |
Copy constructor.
Definition at line 440 of file csa_alphabet_strategy.hpp.
|
inline |
Move constructor.
Definition at line 456 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 546 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 536 of file csa_alphabet_strategy.hpp.
|
inline |
Load method.
Definition at line 511 of file csa_alphabet_strategy.hpp.
|
inlinenoexcept |
Inequality operator.
Definition at line 530 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 481 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 471 of file csa_alphabet_strategy.hpp.
|
inlinenoexcept |
Equality operator.
Definition at line 523 of file csa_alphabet_strategy.hpp.
|
inline |
Serialize method.
Definition at line 497 of file csa_alphabet_strategy.hpp.
|
friend |
Definition at line 327 of file csa_alphabet_strategy.hpp.
|
friend |
Definition at line 328 of file csa_alphabet_strategy.hpp.
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.
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.
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_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.