HOG2
|
#include <BloomFilter.h>
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 |
std::size_t | 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 |
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_ |
unsigned char * | bit_table_ |
unsigned int | salt_count_ |
unsigned long long int | table_size_ |
unsigned long long int | raw_table_size_ |
unsigned long long int | projected_element_count_ |
unsigned int | inserted_element_count_ |
unsigned long long int | random_seed_ |
double | desired_false_positive_probability_ |
Definition at line 167 of file BloomFilter.h.
|
protected |
Definition at line 171 of file BloomFilter.h.
|
protected |
Definition at line 172 of file BloomFilter.h.
|
inline |
Definition at line 176 of file BloomFilter.h.
|
inline |
Definition at line 187 of file BloomFilter.h.
References bit_table_, bits_per_char, generate_unique_salt(), bloom_parameters::optimal_parameters_t::number_of_hashes, bloom_parameters::optimal_parameters, raw_table_size_, salt_count_, bloom_parameters::optimal_parameters_t::table_size, and table_size_.
|
inline |
Definition at line 202 of file BloomFilter.h.
References operator=().
|
inlinevirtual |
Definition at line 250 of file BloomFilter.h.
References bit_table_.
|
inline |
Definition at line 260 of file BloomFilter.h.
References bit_table_, inserted_element_count_, and raw_table_size_.
|
inlineprotectedvirtual |
Reimplemented in compressible_bloom_filter.
Definition at line 451 of file BloomFilter.h.
References bits_per_char, and table_size_.
Referenced by contains(), and insert().
|
inline |
Definition at line 331 of file BloomFilter.h.
References contains().
|
inline |
Definition at line 326 of file BloomFilter.h.
References contains().
|
inline |
Definition at line 321 of file BloomFilter.h.
References contains().
|
inlinevirtual |
Definition at line 305 of file BloomFilter.h.
References bit_mask, bit_table_, bits_per_char, compute_indices(), hash_ap(), and salt_.
Referenced by contains(), contains_all(), and contains_none().
|
inline |
Definition at line 337 of file BloomFilter.h.
References contains().
|
inline |
Definition at line 352 of file BloomFilter.h.
References contains().
|
inline |
Definition at line 376 of file BloomFilter.h.
References inserted_element_count_, salt_, and size().
Referenced by compressible_bloom_filter::compress().
|
inline |
Definition at line 371 of file BloomFilter.h.
References inserted_element_count_.
|
inlineprotected |
Definition at line 457 of file BloomFilter.h.
References random_seed_, salt_, and salt_count_.
Referenced by bloom_filter().
|
inlineprotected |
Definition at line 534 of file BloomFilter.h.
Referenced by contains(), and insert().
|
inline |
Definition at line 444 of file BloomFilter.h.
References salt_.
|
inline |
Definition at line 290 of file BloomFilter.h.
References insert().
|
inline |
Definition at line 296 of file BloomFilter.h.
References insert().
|
inline |
Definition at line 285 of file BloomFilter.h.
References insert().
|
inline |
Definition at line 279 of file BloomFilter.h.
References insert().
|
inline |
Definition at line 266 of file BloomFilter.h.
References bit_mask, bit_table_, bits_per_char, compute_indices(), hash_ap(), inserted_element_count_, and salt_.
Referenced by insert().
|
inline |
Definition at line 255 of file BloomFilter.h.
References table_size_.
|
inline |
Definition at line 226 of file BloomFilter.h.
References operator==().
|
inline |
Definition at line 388 of file BloomFilter.h.
References bit_table_, random_seed_, raw_table_size_, salt_count_, and table_size_.
|
inline |
Definition at line 231 of file BloomFilter.h.
References bit_table_, desired_false_positive_probability_, inserted_element_count_, projected_element_count_, random_seed_, raw_table_size_, salt_, salt_count_, and table_size_.
Referenced by bloom_filter().
|
inline |
Definition at line 207 of file BloomFilter.h.
References bit_table_, desired_false_positive_probability_, inserted_element_count_, projected_element_count_, random_seed_, raw_table_size_, salt_, salt_count_, and table_size_.
Referenced by operator!=().
|
inline |
Definition at line 422 of file BloomFilter.h.
References bit_table_, random_seed_, raw_table_size_, salt_count_, and table_size_.
|
inline |
Definition at line 405 of file BloomFilter.h.
References bit_table_, random_seed_, raw_table_size_, salt_count_, and table_size_.
|
inlinevirtual |
Reimplemented in compressible_bloom_filter.
Definition at line 366 of file BloomFilter.h.
References table_size_.
Referenced by effective_fpp().
|
inline |
Definition at line 439 of file BloomFilter.h.
References bit_table_.
|
protected |
Definition at line 579 of file BloomFilter.h.
Referenced by bloom_filter(), clear(), compressible_bloom_filter::compress(), contains(), insert(), operator&=(), operator=(), operator==(), operator^=(), operator|=(), table(), and ~bloom_filter().
|
protected |
Definition at line 586 of file BloomFilter.h.
Referenced by compressible_bloom_filter::compress(), operator=(), and operator==().
|
protected |
Definition at line 584 of file BloomFilter.h.
Referenced by clear(), effective_fpp(), element_count(), insert(), operator=(), and operator==().
|
protected |
Definition at line 583 of file BloomFilter.h.
Referenced by operator=(), and operator==().
|
protected |
Definition at line 585 of file BloomFilter.h.
Referenced by generate_unique_salt(), operator&=(), operator=(), operator==(), operator^=(), and operator|=().
|
protected |
Definition at line 582 of file BloomFilter.h.
Referenced by bloom_filter(), clear(), operator&=(), operator=(), operator==(), operator^=(), and operator|=().
|
protected |
Definition at line 578 of file BloomFilter.h.
Referenced by contains(), effective_fpp(), generate_unique_salt(), hash_count(), insert(), operator=(), and operator==().
|
protected |
Definition at line 580 of file BloomFilter.h.
Referenced by bloom_filter(), generate_unique_salt(), operator&=(), operator=(), operator==(), operator^=(), and operator|=().
|
protected |
Definition at line 581 of file BloomFilter.h.
Referenced by bloom_filter(), compressible_bloom_filter::compressible_bloom_filter(), compute_indices(), operator!(), operator&=(), operator=(), operator==(), operator^=(), operator|=(), and size().