SDSL
3.0.0
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. More... | |
succinct_byte_alphabet (int_vector_buffer< 8 > &text_buf, int_vector_size_type len) | |
Construct from a byte-stream. More... | |
succinct_byte_alphabet (const succinct_byte_alphabet &strat) | |
Copy constructor. More... | |
succinct_byte_alphabet (succinct_byte_alphabet &&strat) | |
Move constructor. More... | |
succinct_byte_alphabet & | operator= (const succinct_byte_alphabet &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. More... | |
void | load (std::istream &in) |
Load method. More... | |
bool | operator== (succinct_byte_alphabet const &other) const noexcept |
Equality operator. More... | |
bool | operator!= (succinct_byte_alphabet const &other) const noexcept |
Inequality operator. 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) |
Public Attributes | |
const char2comp_type | char2comp |
const comp2char_type | comp2char |
const C_type & | C |
const sigma_type & | 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 304 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 320 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 315 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 313 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 317 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 314 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 318 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 316 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 312 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 319 of file csa_alphabet_strategy.hpp.
anonymous enum |
Enumerator | |
---|---|
int_width |
Definition at line 321 of file csa_alphabet_strategy.hpp.
|
inline |
Default constructor.
Definition at line 370 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 383 of file csa_alphabet_strategy.hpp.
|
inline |
Copy constructor.
Definition at line 419 of file csa_alphabet_strategy.hpp.
|
inline |
Move constructor.
Definition at line 435 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 522 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 512 of file csa_alphabet_strategy.hpp.
|
inline |
Load method.
Definition at line 490 of file csa_alphabet_strategy.hpp.
|
inlinenoexcept |
Inequality operator.
Definition at line 509 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 450 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 460 of file csa_alphabet_strategy.hpp.
|
inlinenoexcept |
Equality operator.
Definition at line 502 of file csa_alphabet_strategy.hpp.
|
inline |
Serialize method.
Definition at line 476 of file csa_alphabet_strategy.hpp.
|
friend |
Definition at line 309 of file csa_alphabet_strategy.hpp.
|
friend |
Definition at line 310 of file csa_alphabet_strategy.hpp.
const C_type& sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::C |
Definition at line 358 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 356 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 357 of file csa_alphabet_strategy.hpp.
const sigma_type& sdsl::succinct_byte_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::sigma |
Definition at line 359 of file csa_alphabet_strategy.hpp.