C++ header-only Bloom filter data structure
This probabilistic data structure was introduced in my algorithms course (Algoritmos com C++), then I'm sharing here as free code.
The first time I had to deal with a problem using Bloom filter was consuming the Guava library from Google.
So I felt like I needed to port and adapt to my favorite programming language: C++
After that, I've ported and adapted to C# in a commercial release, exploring its capabilities to solve the problem of Idempotent Consumer. Here is the result of my experience. Enjoy it!
auto bf = bloom_filter::make_bloom_filter<std::string>(100, 0.01);
bf.add("hello");
bf.add("world");
bf.add("hello");
bf.exists("hello"); //true
bf.exists("C++"); //false
MIT
Free Software, Hell Yeah!