SDSL 3.0.3
Succinct Data Structure Library
Loading...
Searching...
No Matches
sdsl::rank_support_scan< t_b, t_pat_len > Class Template Reference

A class supporting rank queries in linear time. More...

#include <rank_support_scan.hpp>

Inheritance diagram for sdsl::rank_support_scan< t_b, t_pat_len >:
sdsl::rank_support

Public Types

enum  { bit_pat = t_b }
enum  { bit_pat_len = t_pat_len }
typedef bit_vector bit_vector_type
Public Types inherited from sdsl::rank_support
typedef bit_vector::size_type size_type

Public Member Functions

 rank_support_scan (bit_vector const *v=nullptr)
 rank_support_scan (rank_support_scan const &rs)=default
 rank_support_scan (rank_support_scan &&rs)=default
rank_support_scanoperator= (rank_support_scan const &rs)=default
rank_support_scanoperator= (rank_support_scan &&rs)=default
size_type rank (size_type idx) const
 Answers rank queries for the supported bit_vector.
size_type operator() (size_type idx) const
 Alias for rank(i)
size_type size () const
size_type serialize (std::ostream &out, structure_tree_node *v=nullptr, std::string name="") const
 Serializes rank_support.
void load (std::istream &, int_vector< 1 > const *v=nullptr)
 Loads the rank_support.
void set_vector (bit_vector const *v=nullptr)
 Sets the supported bit_vector to the given pointer.
template<typename archive_t>
void CEREAL_SAVE_FUNCTION_NAME (archive_t &) const
template<typename archive_t>
void CEREAL_LOAD_FUNCTION_NAME (archive_t &)
bool operator== (rank_support_scan const &other) const noexcept
 Equality operator.
bool operator!= (rank_support_scan const &other) const noexcept
 Inequality operator.
Public Member Functions inherited from sdsl::rank_support
 rank_support (bit_vector const *v=nullptr)
 Constructor.
 rank_support (rank_support const &)=default
 Copy constructor.
 rank_support (rank_support &&)=default
rank_supportoperator= (rank_support const &)=default
rank_supportoperator= (rank_support &&)=default
virtual ~rank_support ()
 Destructor.

Additional Inherited Members

Protected Attributes inherited from sdsl::rank_support
bit_vector const * m_v
 Pointer to the rank supported bit_vector.

Detailed Description

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
class sdsl::rank_support_scan< t_b, t_pat_len >

A class supporting rank queries in linear time.

Template Parameters
t_bBit pattern which should be supported. Either 0,1,10,01.
t_pat_lenLength of the bit pattern.
Space complexity
Constant.
Time complexity
Linear in the size of the supported vector.

Definition at line 36 of file rank_support_scan.hpp.

Member Typedef Documentation

◆ bit_vector_type

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
typedef bit_vector sdsl::rank_support_scan< t_b, t_pat_len >::bit_vector_type

Definition at line 44 of file rank_support_scan.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
anonymous enum
Enumerator
bit_pat 

Definition at line 45 of file rank_support_scan.hpp.

◆ anonymous enum

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
anonymous enum
Enumerator
bit_pat_len 

Definition at line 49 of file rank_support_scan.hpp.

Constructor & Destructor Documentation

◆ rank_support_scan() [1/3]

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
sdsl::rank_support_scan< t_b, t_pat_len >::rank_support_scan ( bit_vector const * v = nullptr)
inlineexplicit

Definition at line 55 of file rank_support_scan.hpp.

◆ rank_support_scan() [2/3]

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
sdsl::rank_support_scan< t_b, t_pat_len >::rank_support_scan ( rank_support_scan< t_b, t_pat_len > const & rs)
default

◆ rank_support_scan() [3/3]

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
sdsl::rank_support_scan< t_b, t_pat_len >::rank_support_scan ( rank_support_scan< t_b, t_pat_len > && rs)
default

Member Function Documentation

◆ CEREAL_LOAD_FUNCTION_NAME()

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
template<typename archive_t>
void sdsl::rank_support_scan< t_b, t_pat_len >::CEREAL_LOAD_FUNCTION_NAME ( archive_t & )
inline

Definition at line 85 of file rank_support_scan.hpp.

◆ CEREAL_SAVE_FUNCTION_NAME()

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
template<typename archive_t>
void sdsl::rank_support_scan< t_b, t_pat_len >::CEREAL_SAVE_FUNCTION_NAME ( archive_t & ) const
inline

Definition at line 82 of file rank_support_scan.hpp.

◆ load()

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
void sdsl::rank_support_scan< t_b, t_pat_len >::load ( std::istream & in,
int_vector< 1 > const * v = nullptr )
inlinevirtual

Loads the rank_support.

Parameters
inIn-Stream to load the rank_support data from.
vThe supported bit_vector.

Implements sdsl::rank_support.

Definition at line 73 of file rank_support_scan.hpp.

◆ operator!=()

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
bool sdsl::rank_support_scan< t_b, t_pat_len >::operator!= ( rank_support_scan< t_b, t_pat_len > const & other) const
inlinenoexcept

Inequality operator.

Definition at line 95 of file rank_support_scan.hpp.

◆ operator()()

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
size_type sdsl::rank_support_scan< t_b, t_pat_len >::operator() ( size_type idx) const
inlinevirtual

Alias for rank(i)

Implements sdsl::rank_support.

Definition at line 61 of file rank_support_scan.hpp.

◆ operator=() [1/2]

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
rank_support_scan & sdsl::rank_support_scan< t_b, t_pat_len >::operator= ( rank_support_scan< t_b, t_pat_len > && rs)
default

◆ operator=() [2/2]

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
rank_support_scan & sdsl::rank_support_scan< t_b, t_pat_len >::operator= ( rank_support_scan< t_b, t_pat_len > const & rs)
default

◆ operator==()

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
bool sdsl::rank_support_scan< t_b, t_pat_len >::operator== ( rank_support_scan< t_b, t_pat_len > const & other) const
inlinenoexcept

Equality operator.

Definition at line 89 of file rank_support_scan.hpp.

◆ rank()

template<uint8_t t_b, uint8_t t_pat_len>
rank_support_scan< t_b, t_pat_len >::size_type sdsl::rank_support_scan< t_b, t_pat_len >::rank ( size_type i) const
inlinevirtual

Answers rank queries for the supported bit_vector.

Parameters
iArgument for the length of the prefix v[0..i-1].
Returns
Number of 1-bits in the prefix [0..i-1] of the supported bit_vector.
Note
Method init has to be called before the first call of rank.
See also
init

Implements sdsl::rank_support.

Definition at line 103 of file rank_support_scan.hpp.

◆ serialize()

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
size_type sdsl::rank_support_scan< t_b, t_pat_len >::serialize ( std::ostream & out,
structure_tree_node * v = nullptr,
std::string name = "" ) const
inlinevirtual

Serializes rank_support.

Parameters
outOut-Stream to serialize the data to.

Implements sdsl::rank_support.

Definition at line 69 of file rank_support_scan.hpp.

◆ set_vector()

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
void sdsl::rank_support_scan< t_b, t_pat_len >::set_vector ( bit_vector const * v = nullptr)
inlinevirtual

Sets the supported bit_vector to the given pointer.

Parameters
vThe new bit_vector to support.
Note
Method init has to be called before the next call of rank.
See also
init, rank

Implements sdsl::rank_support.

Definition at line 77 of file rank_support_scan.hpp.

◆ size()

template<uint8_t t_b = 1, uint8_t t_pat_len = 1>
size_type sdsl::rank_support_scan< t_b, t_pat_len >::size ( ) const
inline

Definition at line 65 of file rank_support_scan.hpp.


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