SDSL 3.0.3
Succinct Data Structure Library
Loading...
Searching...
No Matches
sdsl::rank_support Class Referenceabstract

The base class of classes supporting rank_queries for a sdsl::bit_vector in constant time. More...

#include <rank_support.hpp>

Inheritance diagram for sdsl::rank_support:
sdsl::rank_support_v5< 10, 2 > sdsl::rank_support_scan< t_b, t_pat_len > sdsl::rank_support_v< t_b, t_pat_len > sdsl::rank_support_v5< t_b, t_pat_len >

Public Types

typedef bit_vector::size_type size_type
 

Public Member Functions

 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.
 
virtual size_type rank (size_type i) const =0
 Answers rank queries for the supported bit_vector.
 
virtual size_type operator() (size_type idx) const =0
 Alias for rank(i)
 
virtual size_type serialize (std::ostream &out, structure_tree_node *v, std::string name) const =0
 Serializes rank_support.
 
virtual void load (std::istream &in, bit_vector const *v=nullptr)=0
 Loads the rank_support.
 
virtual void set_vector (bit_vector const *v=nullptr)=0
 Sets the supported bit_vector to the given pointer.
 

Protected Attributes

bit_vector const * m_v
 Pointer to the rank supported bit_vector.
 

Detailed Description

The base class of classes supporting rank_queries for a sdsl::bit_vector in constant time.

Definition at line 30 of file rank_support.hpp.

Member Typedef Documentation

◆ size_type

Constructor & Destructor Documentation

◆ rank_support() [1/3]

sdsl::rank_support::rank_support ( bit_vector const * v = nullptr)
inline

Constructor.

Parameters
vThe supported bit_vector.

Definition at line 77 of file rank_support.hpp.

◆ rank_support() [2/3]

sdsl::rank_support::rank_support ( rank_support const & )
default

Copy constructor.

◆ rank_support() [3/3]

sdsl::rank_support::rank_support ( rank_support && )
default

◆ ~rank_support()

virtual sdsl::rank_support::~rank_support ( )
inlinevirtual

Destructor.

Definition at line 48 of file rank_support.hpp.

Member Function Documentation

◆ load()

virtual void sdsl::rank_support::load ( std::istream & in,
bit_vector const * v = nullptr )
pure virtual

◆ operator()()

virtual size_type sdsl::rank_support::operator() ( size_type idx) const
pure virtual

◆ operator=() [1/2]

rank_support & sdsl::rank_support::operator= ( rank_support && )
default

◆ operator=() [2/2]

rank_support & sdsl::rank_support::operator= ( rank_support const & )
default

◆ rank()

virtual size_type sdsl::rank_support::rank ( size_type i) const
pure virtual

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

Implemented in sdsl::rank_support_v5< t_b, t_pat_len >, sdsl::rank_support_v5< 10, 2 >, and sdsl::rank_support_v< t_b, t_pat_len >.

◆ serialize()

virtual size_type sdsl::rank_support::serialize ( std::ostream & out,
structure_tree_node * v,
std::string name ) const
pure virtual

◆ set_vector()

virtual void sdsl::rank_support::set_vector ( bit_vector const * v = nullptr)
pure virtual

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

Implemented in sdsl::rank_support_scan< t_b, t_pat_len >, sdsl::rank_support_v5< t_b, t_pat_len >, sdsl::rank_support_v5< 10, 2 >, and sdsl::rank_support_v< t_b, t_pat_len >.

Member Data Documentation

◆ m_v

bit_vector const* sdsl::rank_support::m_v
protected

Pointer to the rank supported bit_vector.

Definition at line 33 of file rank_support.hpp.


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