SDSL: Succinct Data Structure Library
A C++ template library for succinct data structures
|
A bit vector which interleaves the original bit_vector with rank information. More...
#include <bit_vector_interleaved.hpp>
Public Types | |
typedef bit_vector::size_type | size_type |
typedef size_type | value_type |
typedef rank_support_interleaved < 1, blockSize > | rank_1_type |
typedef rank_support_interleaved < 0, blockSize > | rank_0_type |
typedef select_support_interleaved < 1, blockSize > | select_1_type |
typedef select_support_interleaved < 0, blockSize > | select_0_type |
Public Member Functions | |
bit_vector_interleaved (const bit_vector &bv) | |
value_type | operator[] (size_type i) const |
Accessing the i-th element of the original bit_vector. | |
size_type | size () const |
Returns the size of the original bit vector. | |
size_type | serialize (std::ostream &out, structure_tree_node *v=NULL, std::string name="") const |
Serializes the data structure into the given ostream. | |
void | load (std::istream &in) |
Loads the data structure from the given istream. | |
void | swap (bit_vector_interleaved &bv) |
Friends | |
class | rank_support_interleaved< 1, blockSize > |
class | rank_support_interleaved< 0, blockSize > |
class | select_support_interleaved< 1, blockSize > |
class | select_support_interleaved< 0, blockSize > |
A bit vector which interleaves the original bit_vector with rank information.
This class is a uncompressed bit vector representation. It copies the original bit_vector and interleaves the data every blockSize bits with a cumulative sum of set bits before the current position. Each cumulative sum is stored in a 64 bit word.
value_type sdsl::bit_vector_interleaved< blockSize >::operator[] | ( | size_type | i | ) | const [inline] |
Accessing the i-th element of the original bit_vector.
i | An index i with . |