C++ Bloom Filter Library
release
|
#include <bloom_filter.hpp>
Public Member Functions | |
bloom_filter () | |
bloom_filter (const bloom_parameters &p) | |
bloom_filter (const bloom_filter &filter) | |
bool | operator== (const bloom_filter &f) const |
bool | operator!= (const bloom_filter &f) const |
bloom_filter & | operator= (const bloom_filter &f) |
virtual | ~bloom_filter () |
bool | operator! () const |
void | clear () |
void | insert (const unsigned char *key_begin, const std::size_t &length) |
template<typename T > | |
void | insert (const T &t) |
void | insert (const std::string &key) |
void | insert (const char *data, const std::size_t &length) |
template<typename InputIterator > | |
void | insert (const InputIterator begin, const InputIterator end) |
virtual bool | contains (const unsigned char *key_begin, const std::size_t length) const |
template<typename T > | |
bool | contains (const T &t) const |
bool | contains (const std::string &key) const |
bool | contains (const char *data, const std::size_t &length) const |
template<typename InputIterator > | |
InputIterator | contains_all (const InputIterator begin, const InputIterator end) const |
template<typename InputIterator > | |
InputIterator | contains_none (const InputIterator begin, const InputIterator end) const |
virtual unsigned long long int | size () const |
unsigned long long int | element_count () const |
double | effective_fpp () const |
bloom_filter & | operator&= (const bloom_filter &f) |
bloom_filter & | operator|= (const bloom_filter &f) |
bloom_filter & | operator^= (const bloom_filter &f) |
const cell_type * | table () const |
std::size_t | hash_count () |
Protected Types | |
typedef unsigned int | bloom_type |
typedef unsigned char | cell_type |
typedef std::vector< unsigned char > | table_type |
Protected Member Functions | |
virtual void | compute_indices (const bloom_type &hash, std::size_t &bit_index, std::size_t &bit) const |
void | generate_unique_salt () |
bloom_type | hash_ap (const unsigned char *begin, std::size_t remaining_length, bloom_type hash) const |
Protected Attributes | |
std::vector< bloom_type > | salt_ |
std::vector< unsigned char > | bit_table_ |
unsigned int | salt_count_ |
unsigned long long int | table_size_ |
unsigned long long int | projected_element_count_ |
unsigned long long int | inserted_element_count_ |
unsigned long long int | random_seed_ |
double | desired_false_positive_probability_ |
Definition at line 164 of file bloom_filter.hpp.
|
protected |
Definition at line 168 of file bloom_filter.hpp.
|
protected |
Definition at line 169 of file bloom_filter.hpp.
|
protected |
Definition at line 170 of file bloom_filter.hpp.
|
inline |
Definition at line 174 of file bloom_filter.hpp.
|
inline |
Definition at line 183 of file bloom_filter.hpp.
References bits_per_char, bloom_parameters::optimal_parameters_t::number_of_hashes, bloom_parameters::optimal_parameters, and bloom_parameters::optimal_parameters_t::table_size.
|
inline |
Definition at line 197 of file bloom_filter.hpp.
|
inlinevirtual |
Definition at line 246 of file bloom_filter.hpp.
|
inline |
Definition at line 254 of file bloom_filter.hpp.
|
inlineprotectedvirtual |
|
inlinevirtual |
Definition at line 303 of file bloom_filter.hpp.
References bit_mask, and bits_per_char.
Referenced by main().
|
inline |
Definition at line 322 of file bloom_filter.hpp.
|
inline |
Definition at line 327 of file bloom_filter.hpp.
|
inline |
Definition at line 332 of file bloom_filter.hpp.
|
inline |
Definition at line 338 of file bloom_filter.hpp.
Referenced by main().
|
inline |
Definition at line 356 of file bloom_filter.hpp.
|
inline |
Definition at line 383 of file bloom_filter.hpp.
Referenced by main().
|
inline |
Definition at line 378 of file bloom_filter.hpp.
|
inlineprotected |
Definition at line 467 of file bloom_filter.hpp.
|
inlineprotected |
Definition at line 551 of file bloom_filter.hpp.
|
inline |
Definition at line 454 of file bloom_filter.hpp.
|
inline |
Definition at line 260 of file bloom_filter.hpp.
References bit_mask, and bits_per_char.
Referenced by main().
|
inline |
Definition at line 276 of file bloom_filter.hpp.
|
inline |
Definition at line 282 of file bloom_filter.hpp.
|
inline |
Definition at line 287 of file bloom_filter.hpp.
|
inline |
Definition at line 293 of file bloom_filter.hpp.
|
inline |
Definition at line 249 of file bloom_filter.hpp.
|
inline |
Definition at line 221 of file bloom_filter.hpp.
|
inline |
Definition at line 395 of file bloom_filter.hpp.
References bit_table_, random_seed_, salt_count_, and table_size_.
|
inline |
Definition at line 226 of file bloom_filter.hpp.
References bit_table_, desired_false_positive_probability_, inserted_element_count_, projected_element_count_, random_seed_, salt_, salt_count_, and table_size_.
|
inline |
Definition at line 202 of file bloom_filter.hpp.
References bit_table_, desired_false_positive_probability_, inserted_element_count_, projected_element_count_, random_seed_, salt_, salt_count_, and table_size_.
|
inline |
Definition at line 431 of file bloom_filter.hpp.
References bit_table_, random_seed_, salt_count_, and table_size_.
|
inline |
Definition at line 413 of file bloom_filter.hpp.
References bit_table_, random_seed_, salt_count_, and table_size_.
|
inlinevirtual |
Reimplemented in compressible_bloom_filter.
Definition at line 373 of file bloom_filter.hpp.
Referenced by main().
|
inline |
Definition at line 449 of file bloom_filter.hpp.
|
protected |
Definition at line 611 of file bloom_filter.hpp.
Referenced by operator&=(), operator=(), operator==(), operator^=(), and operator|=().
|
protected |
Definition at line 617 of file bloom_filter.hpp.
Referenced by operator=(), and operator==().
|
protected |
Definition at line 615 of file bloom_filter.hpp.
Referenced by operator=(), and operator==().
|
protected |
Definition at line 614 of file bloom_filter.hpp.
Referenced by operator=(), and operator==().
|
protected |
Definition at line 616 of file bloom_filter.hpp.
Referenced by operator&=(), operator=(), operator==(), operator^=(), and operator|=().
|
protected |
Definition at line 610 of file bloom_filter.hpp.
Referenced by operator=(), and operator==().
|
protected |
Definition at line 612 of file bloom_filter.hpp.
Referenced by operator&=(), operator=(), operator==(), operator^=(), and operator|=().
|
protected |
Definition at line 613 of file bloom_filter.hpp.
Referenced by operator&=(), operator=(), operator==(), operator^=(), and operator|=().