↰ Return to documentation for file (include/networkit/auxiliary/BloomFilter.hpp
)
/*
* BloomFilter.hpp
*
* Created on: 08.08.2015
* Author: Henning
*/
#ifndef NETWORKIT_AUXILIARY_BLOOM_FILTER_HPP_
#define NETWORKIT_AUXILIARY_BLOOM_FILTER_HPP_
#include <vector>
#include <networkit/Globals.hpp>
#include <networkit/auxiliary/Log.hpp>
namespace Aux {
using index = NetworKit::index;
using count = NetworKit::count;
class BloomFilter {
private:
count numHashes;
count size;
std::vector<std::vector<char>> membership;
std::vector<index> salts;
index hash(index key, index hfunc) const;
public:
BloomFilter(count numHashes, count size = 6291469);
virtual ~BloomFilter() = default;
void insert(index key);
bool isMember(index key) const;
};
} // namespace Aux
#endif // NETWORKIT_AUXILIARY_BLOOM_FILTER_HPP_