This version of Boost is under active development. You are currently in the develop branch. The current version is 1.89.0.
C++ 11
Added in Boost
1.89.0.beta1
Categories:
Containers
Bloom filters.
Documentation
No documentation for this version
This Release
Dependencies
Library dependencies will be generated soon, please check back later.
Boost Bloom Library
Boost.Bloom provides the class template boost::bloom::filter that
can be configured to implement a classical Bloom filter
as well as variations discussed in the literature such as block filters, multiblock filters, and more.
#include <boost/bloom/filter.hpp>
#include <cassert>
#include <string>
int main()
{
// Bloom filter of strings with 5 bits set per insertion
using filter = boost::bloom::filter<std::string, 5>;
// create filter with a capacity of 1'000'000 **bits**
filter f(1'000'000);
// insert elements (they can't be erased, Bloom filters are insert-only)
f.insert("hello");
f.insert("Boost");
//...
// elements inserted are always correctly checked as such
assert(f.may_contain("hello") == true);
// elements not inserted may incorrectly be identified as such with a
// false positive rate (FPR) which is a function of the array capacity,
// the number of bits set per element and generally how the boost::bloom::filter
// was specified
if(f.may_contain("bye")) { // likely false
//...
}
}
Learn about Boost.Bloom
Install Boost.Bloom
- Download Boost and you're ready to go (this is a header-only library requiring no building).
- Using Conan 2: In case you don't have it yet, add an entry for Boost in your
conanfile.txt(the example requires at least Boost 1.89):
[requires]
boost/[>=1.89.0]
- If you're not using any compiled Boost library, the following will skip building altogether:
[options]
boost:header_only=True
- Using vcpkg: Execute the command
vcpkg install boost-bloom
- Using CMake: Boost CMake support infrastructure allows you to use CMake directly to download, build and consume all of Boost or some specific libraries.
Support
- Join the #boost discussion group at cpplang.slack.com (ask for an invite if you’re not a member of this workspace yet)
- File an issue
Contribute
- Pull requests against develop branch are most welcome. Note that by submitting patches you agree to license your modifications under the Boost Software License, Version 1.0.