Counting Bloom Filter

template<std::size_t HC, std::size_t MC, typename C = uint16_t, template<typename...> class HF = mmh3_hash_factory, typename T = std::string, typename S = uint32_t>
class pdstl::counting_bloom_filter : public pdstl::bloom_filter<HC, MC, HF, T, S>

Counting Bloom Filter.

counting_bloom_filter class implements counting filter algorithm for solving membership problem.

Template Parameters
  • HC: - Number of hash functions

  • MC: - Number of memory bits

  • C: - Type of counter (default: uint16_t)

  • HF: - Hash factory method class (default: pdstl::mmh3_hash_factory)

  • T: - Element type which will be inserted into counting bloom filter (default: std::string)

  • S: - Hash output size (default: uint32_t)

Public Functions

counting_bloom_filter()

Default constructor.

void insert(const T &item) override

Insert item into counting bloom filter.

Parameters
  • item: - the item to insert into the bloom filter.

void erase(const T &item) override

Erase item from counting bloom filter.

Parameters
  • item: - the item to erase from filter.

void clear() override

Clear filter and resets its internal memory.