Struct rhai::BloomFilterU64
source · pub struct BloomFilterU64(/* private fields */);
Expand description
(internals) A simple bloom filter implementation for u64
hash values only - i.e. all 64 bits are assumed
to be relatively random.
Exported under the internals
feature only.
For this reason, the implementation is simplistic - it just looks at the least significant byte
of the u64
hash value and sets the corresponding bit in a 256-long bit vector.
The rationale of this type is to avoid pulling in another dependent crate.
Implementations§
source§impl BloomFilterU64
impl BloomFilterU64
sourcepub const fn new() -> Self
pub const fn new() -> Self
Create a new BloomFilterU64
.
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Is this BloomFilterU64
empty?
sourcepub fn clear(&mut self) -> &mut Self
pub fn clear(&mut self) -> &mut Self
Clear this BloomFilterU64
.
sourcepub fn mark(&mut self, hash: u64) -> &mut Self
pub fn mark(&mut self, hash: u64) -> &mut Self
Mark a u64
hash into this BloomFilterU64
.
sourcepub const fn is_absent(&self, hash: u64) -> bool
pub const fn is_absent(&self, hash: u64) -> bool
Is a u64
hash definitely absent from this BloomFilterU64
?
sourcepub fn is_absent_and_set(&mut self, hash: u64) -> bool
pub fn is_absent_and_set(&mut self, hash: u64) -> bool
If a u64
hash is absent from this BloomFilterU64
, return true
and then mark it.
Otherwise return false
.
Trait Implementations§
source§impl Add<BloomFilterU64> for &BloomFilterU64
impl Add<BloomFilterU64> for &BloomFilterU64
§type Output = BloomFilterU64
type Output = BloomFilterU64
The resulting type after applying the
+
operator.source§impl Add for &BloomFilterU64
impl Add for &BloomFilterU64
source§impl AddAssign<&BloomFilterU64> for BloomFilterU64
impl AddAssign<&BloomFilterU64> for BloomFilterU64
source§fn add_assign(&mut self, rhs: &Self)
fn add_assign(&mut self, rhs: &Self)
Performs the
+=
operation. Read moresource§impl AddAssign for BloomFilterU64
impl AddAssign for BloomFilterU64
source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moresource§impl Clone for BloomFilterU64
impl Clone for BloomFilterU64
source§fn clone(&self) -> BloomFilterU64
fn clone(&self) -> BloomFilterU64
Returns a copy of the value. Read more
1.0.0 · 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 BloomFilterU64
impl Debug for BloomFilterU64
source§impl Default for BloomFilterU64
impl Default for BloomFilterU64
source§fn default() -> BloomFilterU64
fn default() -> BloomFilterU64
Returns the “default value” for a type. Read more
source§impl Hash for BloomFilterU64
impl Hash for BloomFilterU64
source§impl PartialEq for BloomFilterU64
impl PartialEq for BloomFilterU64
source§fn eq(&self, other: &BloomFilterU64) -> bool
fn eq(&self, other: &BloomFilterU64) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for BloomFilterU64
impl StructuralPartialEq for BloomFilterU64
Auto Trait Implementations§
impl Freeze for BloomFilterU64
impl RefUnwindSafe for BloomFilterU64
impl Send for BloomFilterU64
impl Sync for BloomFilterU64
impl Unpin for BloomFilterU64
impl UnwindSafe for BloomFilterU64
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
source§impl<T> Variant for T
impl<T> Variant for T
source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert this
Variant
trait object to &mut dyn Any
.source§fn as_boxed_any(self: Box<T>) -> Box<dyn Any>
fn as_boxed_any(self: Box<T>) -> Box<dyn Any>
Convert this
Variant
trait object to Box<dyn Any>
.