SDSL 3.0.3
Succinct Data Structure Library
Loading...
Searching...
No Matches
sdsl::plain_byte_alphabet Class Reference

Provides an alphabet mapping that implements an identity map (i.e. More...

#include <csa_alphabet_strategy.hpp>

Classes

class  mapping_wrapper
 Helper class for the char2comp and comp2char mapping. More...

Public Types

enum  { int_width = 8 }
typedef int_vector ::size_type size_type
typedef mapping_wrapper char2comp_type
typedef mapping_wrapper comp2char_type
typedef int_vector< 64 > 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

 plain_byte_alphabet ()
 Default constructor.
 plain_byte_alphabet (int_vector_buffer< 8 > &text_buf, int_vector_size_type len)
 Construct from a byte-stream.
 plain_byte_alphabet (plain_byte_alphabet const &strat)
 Copy constructor.
 plain_byte_alphabet (plain_byte_alphabet &&strat) noexcept
 Move constructor.
plain_byte_alphabetoperator= (plain_byte_alphabet const &strat)
 Copy assignment.
plain_byte_alphabetoperator= (plain_byte_alphabet &&strat) noexcept
 Move assignment.

Public Attributes

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

Detailed Description

Provides an alphabet mapping that implements an identity map (i.e.

each character is mapped to its rank).

This mapping is faster for FM indices and should always be used for ranges containing all characters of the underlying alphabet type. Indices based on a text not containing all characters of its alphabet type will have a much higher memory footprint using this alphabet mapping.

Definition at line 589 of file csa_alphabet_strategy.hpp.

Member Typedef Documentation

◆ alphabet_category

◆ C_type

◆ char2comp_type

◆ char_type

Definition at line 600 of file csa_alphabet_strategy.hpp.

◆ comp2char_type

◆ comp_char_type

Definition at line 601 of file csa_alphabet_strategy.hpp.

◆ sigma_type

Definition at line 599 of file csa_alphabet_strategy.hpp.

◆ size_type

Definition at line 595 of file csa_alphabet_strategy.hpp.

◆ string_type

Definition at line 602 of file csa_alphabet_strategy.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
int_width 

Definition at line 604 of file csa_alphabet_strategy.hpp.

Constructor & Destructor Documentation

◆ plain_byte_alphabet() [1/4]

sdsl::plain_byte_alphabet::plain_byte_alphabet ( )
inline

Default constructor.

Definition at line 634 of file csa_alphabet_strategy.hpp.

◆ plain_byte_alphabet() [2/4]

sdsl::plain_byte_alphabet::plain_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 641 of file csa_alphabet_strategy.hpp.

◆ plain_byte_alphabet() [3/4]

sdsl::plain_byte_alphabet::plain_byte_alphabet ( plain_byte_alphabet const & strat)
inline

Copy constructor.

Definition at line 678 of file csa_alphabet_strategy.hpp.

◆ plain_byte_alphabet() [4/4]

sdsl::plain_byte_alphabet::plain_byte_alphabet ( plain_byte_alphabet && strat)
inlinenoexcept

Move constructor.

Definition at line 686 of file csa_alphabet_strategy.hpp.

Member Function Documentation

◆ operator=() [1/2]

plain_byte_alphabet & sdsl::plain_byte_alphabet::operator= ( plain_byte_alphabet && strat)
inlinenoexcept

Move assignment.

Definition at line 705 of file csa_alphabet_strategy.hpp.

◆ operator=() [2/2]

plain_byte_alphabet & sdsl::plain_byte_alphabet::operator= ( plain_byte_alphabet const & strat)
inline

Copy assignment.

Definition at line 694 of file csa_alphabet_strategy.hpp.

Member Data Documentation

◆ C

C_type const& sdsl::plain_byte_alphabet::C

Definition at line 625 of file csa_alphabet_strategy.hpp.

◆ char2comp

const char2comp_type sdsl::plain_byte_alphabet::char2comp {}

Definition at line 623 of file csa_alphabet_strategy.hpp.

◆ comp2char

const comp2char_type sdsl::plain_byte_alphabet::comp2char {}

Definition at line 624 of file csa_alphabet_strategy.hpp.

◆ sigma

sigma_type const& sdsl::plain_byte_alphabet::sigma

Definition at line 626 of file csa_alphabet_strategy.hpp.


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