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 = 0 } |
typedef int_vector ::size_type | size_type |
typedef char2comp_wrapper | char2comp_type |
typedef comp2char_wrapper | comp2char_type |
typedef C_array_type | C_type |
typedef uint64_t | sigma_type |
typedef uint64_t | char_type |
typedef uint64_t | comp_char_type |
typedef std::vector< char_type > | string_type |
typedef int_alphabet_tag | alphabet_category |
Public Member Functions | |
int_alphabet () | |
Default constructor. More... | |
int_alphabet (int_vector_buffer< 0 > &text_buf, int_vector_size_type len) | |
Construct from a byte-stream. More... | |
int_alphabet (const int_alphabet &strat) | |
Copy constructor. More... | |
int_alphabet (int_alphabet &&strat) | |
Copy constructor. More... | |
int_alphabet & | operator= (const int_alphabet &strat) |
int_alphabet & | operator= (int_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== (int_alphabet const &other) const noexcept |
Equality operator. More... | |
bool | operator!= (int_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 sigma bits and a rank and a select structure, if the alphabet contains not all symbols in the range [0..sigma-1]. If it contains all symbols, i.e. the alphabet is continuous, then we map the symbols directly and no extra space is used.
The types to represent char2comp
, comp2char
, and C
can be specified by template parameters.
Definition at line 735 of file csa_alphabet_strategy.hpp.
typedef int_alphabet_tag sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::alphabet_category |
Definition at line 751 of file csa_alphabet_strategy.hpp.
typedef C_array_type sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::C_type |
Definition at line 746 of file csa_alphabet_strategy.hpp.
typedef char2comp_wrapper sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::char2comp_type |
Definition at line 744 of file csa_alphabet_strategy.hpp.
typedef uint64_t sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::char_type |
Definition at line 748 of file csa_alphabet_strategy.hpp.
typedef comp2char_wrapper sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::comp2char_type |
Definition at line 745 of file csa_alphabet_strategy.hpp.
typedef uint64_t sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::comp_char_type |
Definition at line 749 of file csa_alphabet_strategy.hpp.
typedef uint64_t sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::sigma_type |
Definition at line 747 of file csa_alphabet_strategy.hpp.
typedef int_vector ::size_type sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::size_type |
Definition at line 743 of file csa_alphabet_strategy.hpp.
typedef std::vector<char_type> sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::string_type |
Definition at line 750 of file csa_alphabet_strategy.hpp.
anonymous enum |
Enumerator | |
---|---|
int_width |
Definition at line 752 of file csa_alphabet_strategy.hpp.
|
inline |
Default constructor.
Definition at line 834 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 847 of file csa_alphabet_strategy.hpp.
|
inline |
Copy constructor.
Definition at line 883 of file csa_alphabet_strategy.hpp.
|
inline |
Copy constructor.
Definition at line 899 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 986 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 976 of file csa_alphabet_strategy.hpp.
|
inline |
Load method.
Definition at line 954 of file csa_alphabet_strategy.hpp.
|
inlinenoexcept |
Inequality operator.
Definition at line 973 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 914 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 924 of file csa_alphabet_strategy.hpp.
|
inlinenoexcept |
Equality operator.
Definition at line 966 of file csa_alphabet_strategy.hpp.
|
inline |
Serialize method.
Definition at line 940 of file csa_alphabet_strategy.hpp.
|
friend |
Definition at line 740 of file csa_alphabet_strategy.hpp.
|
friend |
Definition at line 741 of file csa_alphabet_strategy.hpp.
const C_type& sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::C |
Definition at line 808 of file csa_alphabet_strategy.hpp.
const char2comp_type sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::char2comp |
Definition at line 806 of file csa_alphabet_strategy.hpp.
const comp2char_type sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::comp2char |
Definition at line 807 of file csa_alphabet_strategy.hpp.
const sigma_type& sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::sigma |
Definition at line 809 of file csa_alphabet_strategy.hpp.