Bit vector  0.9
Fast and space efficient dynamic bit vector library.
bv.hpp
Go to the documentation of this file.
1 #ifndef BV_HPP
2 #define BV_HPP
3 
4 #include "internal/allocator.hpp"
5 #include "internal/bit_vector.hpp"
6 #include "internal/leaf.hpp"
7 #include "internal/node.hpp"
8 
9 namespace bv {
10 
52 template <uint8_t buffer_size, uint64_t leaf_size, uint8_t branching_factor,
53  bool avx = true>
54 using simple_bv =
55  bit_vector<leaf<buffer_size, avx>,
56  node<leaf<buffer_size>, uint64_t, leaf_size, branching_factor>,
57  malloc_alloc, leaf_size, branching_factor, uint64_t>;
58 
79 template <uint8_t buffer_size, uint64_t leaf_size, uint8_t branching_factor,
80  bool avx = true>
81 using small_bv =
83  node<leaf<buffer_size>, uint32_t, leaf_size, branching_factor>,
84  malloc_alloc, leaf_size, branching_factor, uint32_t>;
85 
95 } // namespace bv
96 
97 #endif
bv::bit_vector
Container class for dynamic b-tree bit vector stuctures.
Definition: bit_vector.hpp:37
bv::bv
simple_bv< 8, 16384, 64 > bv
Default dynamic bit vector type.
Definition: bv.hpp:94
bv::malloc_alloc
Simple malloc based allocation for internal nodes and leaves.
Definition: allocator.hpp:20
bv::node
Internal node for use with bit vector b-tree structures.
Definition: node.hpp:65
bv::simple_bv
bit_vector< leaf< buffer_size, avx >, node< leaf< buffer_size >, uint64_t, leaf_size, branching_factor >, malloc_alloc, leaf_size, branching_factor, uint64_t > simple_bv
Helper type definition template for bit vector with at most 2^63 elements.
Definition: bv.hpp:57