Package-level declarations
Types
Link copied to clipboard
Defines a structure that is operable as a 1-to-n-layer Bloom filter. NIST (the National Institute of Standards and
Technology) defines a *"Bloom filter"* as a "data structure with a probabilistic algorithm to quickly test membership
in a large set using multiple hash functions into a single array of bits."
In essence, a Bloom filter is a very compact set of data, which operates kind of like a cheese cloth. For each unique
data fingerprint applied to the filter, you can imagine throwing colored die at the cheese cloth - what you end up
with is some blend of colors, which is entirely unique and ephemeral, having been constituted entirely by the colors
you chose, and the exact parameters of how you threw them. Albeit a contrived example, one could then imagine simply
examining the result of your work to determine the presence of different colors.
Bloom filters work the same way. Since their invention in by Burton Howard Bloom in 1970, many exotic forms of Bloom
filters have shown up, a few of which this structure supports. For example, one may choose to enhance regular filters
with the count of items considered in the filter, making it a *Counting Bloom filter*. Or, one may choose to combine
multiple filters into one effective filter, which is referred to as a *Layered Bloom filter*.
Content copied to clipboard
elide.structs.BloomFilter
Link copied to clipboard
object BloomFilterKt
Protobuf type elide.structs.BloomFilter
Link copied to clipboard
Functions
Link copied to clipboard
Link copied to clipboard
inline fun BloomFilter.FilterLayer.copy(block: BloomFilterKt.FilterLayerKt.Dsl.() -> Unit): BloomFilter.FilterLayer