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 = 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. | |
int_alphabet (int_vector_buffer< 0 > &text_buf, int_vector_size_type len) | |
Construct from a byte-stream. | |
int_alphabet (int_alphabet const &strat) | |
Copy constructor. | |
int_alphabet (int_alphabet &&strat) | |
Copy constructor. | |
int_alphabet & | operator= (int_alphabet const &strat) |
int_alphabet & | operator= (int_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== (int_alphabet const &other) const noexcept |
Equality operator. | |
bool | operator!= (int_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 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 770 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 787 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 782 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 780 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 784 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 781 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 785 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 783 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 779 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 786 of file csa_alphabet_strategy.hpp.
anonymous enum |
Enumerator | |
---|---|
int_width |
Definition at line 788 of file csa_alphabet_strategy.hpp.
|
inline |
Default constructor.
Definition at line 870 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 878 of file csa_alphabet_strategy.hpp.
|
inline |
Copy constructor.
Definition at line 918 of file csa_alphabet_strategy.hpp.
|
inline |
Copy constructor.
Definition at line 934 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 1024 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 1014 of file csa_alphabet_strategy.hpp.
|
inline |
Load method.
Definition at line 989 of file csa_alphabet_strategy.hpp.
|
inlinenoexcept |
Inequality operator.
Definition at line 1008 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 959 of file csa_alphabet_strategy.hpp.
|
inline |
Definition at line 949 of file csa_alphabet_strategy.hpp.
|
inlinenoexcept |
Equality operator.
Definition at line 1001 of file csa_alphabet_strategy.hpp.
|
inline |
Serialize method.
Definition at line 975 of file csa_alphabet_strategy.hpp.
|
friend |
Definition at line 776 of file csa_alphabet_strategy.hpp.
|
friend |
Definition at line 777 of file csa_alphabet_strategy.hpp.
C_type const& sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::C |
Definition at line 844 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 842 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 843 of file csa_alphabet_strategy.hpp.
sigma_type const& sdsl::int_alphabet< bit_vector_type, rank_support_type, select_support_type, C_array_type >::sigma |
Definition at line 845 of file csa_alphabet_strategy.hpp.