SDSL  3.0.0
Succinct Data Structure Library
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. More...
 
 plain_byte_alphabet (int_vector_buffer< 8 > &text_buf, int_vector_size_type len)
 Construct from a byte-stream. More...
 
 plain_byte_alphabet (plain_byte_alphabet const &strat)
 Copy constructor. More...
 
 plain_byte_alphabet (plain_byte_alphabet &&strat) noexcept
 Move constructor. More...
 
plain_byte_alphabetoperator= (plain_byte_alphabet const &strat)
 Copy assignment. More...
 
plain_byte_alphabetoperator= (plain_byte_alphabet &&strat) noexcept
 Move assignment. More...
 

Public Attributes

const char2comp_type char2comp {}
 
const comp2char_type comp2char {}
 
const C_typeC
 
const sigma_typesigma
 

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 559 of file csa_alphabet_strategy.hpp.

Member Typedef Documentation

◆ alphabet_category

◆ C_type

◆ char2comp_type

◆ char_type

Definition at line 570 of file csa_alphabet_strategy.hpp.

◆ comp2char_type

◆ comp_char_type

Definition at line 571 of file csa_alphabet_strategy.hpp.

◆ sigma_type

Definition at line 569 of file csa_alphabet_strategy.hpp.

◆ size_type

◆ string_type

Definition at line 572 of file csa_alphabet_strategy.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
int_width 

Definition at line 574 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 601 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 611 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 646 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 654 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 673 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 662 of file csa_alphabet_strategy.hpp.

Member Data Documentation

◆ C

const C_type& sdsl::plain_byte_alphabet::C

Definition at line 592 of file csa_alphabet_strategy.hpp.

◆ char2comp

const char2comp_type sdsl::plain_byte_alphabet::char2comp {}

Definition at line 590 of file csa_alphabet_strategy.hpp.

◆ comp2char

const comp2char_type sdsl::plain_byte_alphabet::comp2char {}

Definition at line 591 of file csa_alphabet_strategy.hpp.

◆ sigma

const sigma_type& sdsl::plain_byte_alphabet::sigma

Definition at line 593 of file csa_alphabet_strategy.hpp.


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