libBf 0.1
|
The Bloom filter core class. More...
#include <core.h>
Public Types | |
typedef Store | store_type |
typedef Hash | hash_type |
typedef Partition | part_type |
typedef core< store_type, hash_type, part_type > | core_type |
Public Member Functions | |
core (typename Store::size_type cells, unsigned k, unsigned width=1, unsigned parts=1, typename std::enable_if< std::is_same< store_type, fixed_width< typename store_type::block_type, typename store_type::allocator_type > >::value > *dummy=0) | |
Create a core object for fixed-width storage. | |
void | swap (core_type &c) |
template<typename T > | |
std::vector< typename store_type::size_type > | positions (const T &x) const |
For a given item \(x\), compute the (at most) \(k\) corresponding cell indices in the store. | |
Public Attributes | |
store_type | store |
hash_type | hash |
part_type | part |
The Bloom filter core class.
It can be customized with a different store, hash, and partition policy. The store policy determines the underlying storage layout, the hash policy codifies the hash algorithm and scheme, and the partition policy indicates how to split up the underlying storage cells.
bf::core< Store, Hash, Partition >::core | ( | typename Store::size_type | cells, |
unsigned | k, | ||
unsigned | width = 1 , |
||
unsigned | parts = 1 , |
||
typename std::enable_if< std::is_same< store_type, fixed_width< typename store_type::block_type, typename store_type::allocator_type > >::value > * | dummy = 0 |
||
) | [inline] |
std::vector<typename store_type::size_type> bf::core< Store, Hash, Partition >::positions | ( | const T & | x | ) | const [inline] |