Pixie
Loading...
Searching...
No Matches
pixie::SdslRmMTree Class Reference
Inheritance diagram for pixie::SdslRmMTree:
pixie::RmMBase< SdslRmMTree >

Public Types

using BpSupport = sdsl::bp_support_sada<>
 

Public Member Functions

 SdslRmMTree (std::span< const std::uint64_t > words, std::size_t bit_count, std::size_t _=0)
 
 SdslRmMTree (const SdslRmMTree &other)
 
SdslRmMTreeoperator= (const SdslRmMTree &other)
 
 SdslRmMTree (SdslRmMTree &&other) noexcept
 
SdslRmMTreeoperator= (SdslRmMTree &&other) noexcept
 
std::size_t size_impl () const
 
std::size_t rank1_impl (std::size_t end_position) const
 
std::size_t rank0_impl (std::size_t end_position) const
 
std::size_t select1_impl (std::size_t rank) const
 
std::size_t select0_impl (std::size_t) const
 
std::size_t rank10_impl (std::size_t) const
 
std::size_t select10_impl (std::size_t) const
 
int excess_impl (std::size_t end_position) const
 
std::size_t fwdsearch_impl (std::size_t start_position, int delta) const
 
std::size_t bwdsearch_impl (std::size_t start_position, int delta) const
 
std::size_t range_min_query_pos_impl (std::size_t range_begin, std::size_t range_end) const
 
int range_min_query_val_impl (std::size_t range_begin, std::size_t range_end) const
 
std::size_t range_max_query_pos_impl (std::size_t, std::size_t) const
 
int range_max_query_val_impl (std::size_t, std::size_t) const
 
std::size_t mincount_impl (std::size_t, std::size_t) const
 
std::size_t minselect_impl (std::size_t, std::size_t, std::size_t) const
 
std::size_t close_impl (std::size_t open_position) const
 
std::size_t open_impl (std::size_t close_position) const
 
std::size_t enclose_impl (std::size_t open_position) const
 
int bit_impl (const size_t &position) const noexcept
 
- Public Member Functions inherited from pixie::RmMBase< SdslRmMTree >
std::size_t size () const
 Number of bits in the represented sequence.
 
std::size_t rank1 (std::size_t end_position) const
 Count 1 bits in the prefix [0, end_position).
 
std::size_t rank0 (std::size_t end_position) const
 Count 0 bits in the prefix [0, end_position).
 
std::size_t select1 (std::size_t rank) const
 Return the zero-based position of the rank-th 1 bit.
 
std::size_t select0 (std::size_t rank) const
 Return the zero-based position of the rank-th 0 bit.
 
std::size_t rank10 (std::size_t end_position) const
 Count "10" bit patterns fully contained in [0, end_position).
 
std::size_t select10 (std::size_t rank) const
 Return the zero-based start position of the rank-th "10" pattern.
 
int excess (std::size_t end_position) const
 Prefix excess on [0, end_position): +1 for 1 bits, -1 for 0 bits.
 
std::size_t fwdsearch (std::size_t start_position, int delta) const
 Forward excess search from a prefix boundary.
 
std::size_t bwdsearch (std::size_t start_position, int delta) const
 Backward excess search from a prefix boundary.
 
std::size_t range_min_query_pos (std::size_t range_begin, std::size_t range_end) const
 Position of the first minimum relative excess in [range_begin, range_end].
 
int range_min_query_val (std::size_t range_begin, std::size_t range_end) const
 Minimum relative excess value over [range_begin, range_end].
 
std::size_t range_max_query_pos (std::size_t range_begin, std::size_t range_end) const
 Position of the first maximum relative excess in [range_begin, range_end].
 
int range_max_query_val (std::size_t range_begin, std::size_t range_end) const
 Maximum relative excess value over [range_begin, range_end].
 
std::size_t mincount (std::size_t range_begin, std::size_t range_end) const
 Count positions attaining the minimum relative excess in [range_begin, range_end].
 
std::size_t minselect (std::size_t range_begin, std::size_t range_end, std::size_t rank) const
 Select a position attaining the minimum relative excess in [range_begin, range_end].
 
std::size_t close (std::size_t open_position) const
 Matching closing parenthesis for the parenthesis at open_position.
 
std::size_t open (std::size_t close_position) const
 Matching opening parenthesis for the parenthesis at close_position.
 
std::size_t enclose (std::size_t open_position) const
 Closest opening parenthesis strictly enclosing position.
 
int bit (const size_t &position) const noexcept
 Read bit at position position (LSB-first across words).
 

Static Public Attributes

static constexpr std::size_t npos = RmMBase<SdslRmMTree>::npos
 
- Static Public Attributes inherited from pixie::RmMBase< SdslRmMTree >
static constexpr std::size_t npos
 Sentinel returned by position queries when no valid answer exists.
 

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