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

source

pub const fn new() -> Self

Create a new BloomFilterU64.

source

pub fn is_empty(&self) -> bool

Is this BloomFilterU64 empty?

source

pub fn clear(&mut self) -> &mut Self

Clear this BloomFilterU64.

source

pub fn mark(&mut self, hash: u64) -> &mut Self

Mark a u64 hash into this BloomFilterU64.

source

pub const fn is_absent(&self, hash: u64) -> bool

Is a u64 hash definitely absent from this BloomFilterU64?

source

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

§

type Output = BloomFilterU64

The resulting type after applying the + operator.
source§

fn add(self, rhs: BloomFilterU64) -> Self::Output

Performs the + operation. Read more
source§

impl Add for &BloomFilterU64

§

type Output = BloomFilterU64

The resulting type after applying the + operator.
source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
source§

impl AddAssign<&BloomFilterU64> for BloomFilterU64

source§

fn add_assign(&mut self, rhs: &Self)

Performs the += operation. Read more
source§

impl AddAssign for BloomFilterU64

source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
source§

impl Clone for BloomFilterU64

source§

fn clone(&self) -> BloomFilterU64

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for BloomFilterU64

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for BloomFilterU64

source§

fn default() -> BloomFilterU64

Returns the “default value” for a type. Read more
source§

impl Hash for BloomFilterU64

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for BloomFilterU64

source§

fn eq(&self, other: &BloomFilterU64) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for BloomFilterU64

source§

impl StructuralPartialEq for BloomFilterU64

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> Variant for T
where T: Any + Clone + SendSync,

source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert this Variant trait object to &dyn Any.
source§

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>

Convert this Variant trait object to Box<dyn Any>.
source§

fn type_name(&self) -> &'static str

Get the name of this type.
source§

fn clone_object(&self) -> Box<dyn Variant>

Clone this Variant trait object.