pub struct Fingerprint { /* private fields */ }Expand description
Represents a fingerprint of an item, stored in the crate::CuckooFilter.
Generally, fingerprint access should not be needed for regular filter usage, but it can be useful to confirm if the evicted fingerprint matches a known item.
§Examples
ⓘ
use cuckoo_clock::{CuckooFilter, Fingerprint, config::CuckooConfiguration};
let filter = CuckooFilter::new_random(CuckooConfiguration::builder(100_000).build()?);
// ... use filter
if let Some(evicted_fp: Fingerprint) = filter.insert("new_item") {
if evicted_fp.matches_key("known_item", &filter) {
println!("Known item was evicted!");
}
}Implementations§
Source§impl Fingerprint
impl Fingerprint
Sourcepub fn matches_key<K: Hash + ?Sized, H: BuildHasher>(
&self,
key: &K,
filter: &CuckooFilter<H>,
) -> bool
pub fn matches_key<K: Hash + ?Sized, H: BuildHasher>( &self, key: &K, filter: &CuckooFilter<H>, ) -> bool
Compares this fingerprint to a key. This will only produce correct results if the same filter that produced this fingerprint is passed into this method.
Returns true if this fingerprint matches the key.
Trait Implementations§
Source§impl Clone for Fingerprint
impl Clone for Fingerprint
Source§fn clone(&self) -> Fingerprint
fn clone(&self) -> Fingerprint
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Fingerprint
impl Debug for Fingerprint
impl Eq for Fingerprint
Source§impl From<u32> for Fingerprint
impl From<u32> for Fingerprint
Source§impl Hash for Fingerprint
impl Hash for Fingerprint
Source§impl PartialEq for Fingerprint
impl PartialEq for Fingerprint
Source§fn eq(&self, other: &Fingerprint) -> bool
fn eq(&self, other: &Fingerprint) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for Fingerprint
Auto Trait Implementations§
impl Freeze for Fingerprint
impl RefUnwindSafe for Fingerprint
impl Send for Fingerprint
impl Sync for Fingerprint
impl Unpin for Fingerprint
impl UnsafeUnpin for Fingerprint
impl UnwindSafe for Fingerprint
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more