Struct dfir_rs::compiled::pull::HalfMultisetJoinState

source ·
pub struct HalfMultisetJoinState<Key, ValBuild, ValProbe> { /* private fields */ }

Trait Implementations§

source§

impl<Key, ValBuild, ValProbe> Clear for HalfMultisetJoinState<Key, ValBuild, ValProbe>

source§

fn clear(&mut self)

Clears the collection without neccesarily freeing allocations.
source§

impl<Key: Debug, ValBuild: Debug, ValProbe: Debug> Debug for HalfMultisetJoinState<Key, ValBuild, ValProbe>

source§

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

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

impl<Key, ValBuild, ValProbe> Default for HalfMultisetJoinState<Key, ValBuild, ValProbe>

source§

fn default() -> Self

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

impl<Key, ValBuild, ValProbe> HalfJoinState<Key, ValBuild, ValProbe> for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where Key: Clone + Eq + Hash, ValBuild: Clone, ValProbe: Clone,

source§

fn build(&mut self, k: Key, v: &ValBuild) -> bool

Insert a key value pair into the join state, currently this is always inserting into a hash table If the key-value pair exists then it is implementation defined what happens, usually either two copies are stored or only one copy is stored.
source§

fn probe(&mut self, k: &Key, v: &ValProbe) -> Option<(Key, ValProbe, ValBuild)>

This function does the actual joining part of the join. It looks up a key in the local join state and creates matches The first match is return directly to the caller, and any additional matches are stored internally to be retrieved later with pop_match
source§

fn full_probe(&self, k: &Key) -> Iter<'_, ValBuild>

source§

fn pop_match(&mut self) -> Option<(Key, ValProbe, ValBuild)>

If there are any stored matches from previous calls to probe then this function will remove them one at a time and return it.
source§

fn len(&self) -> usize

source§

fn iter(&self) -> Iter<'_, Key, SmallVec<[ValBuild; 1]>>

source§

fn is_empty(&self) -> bool

Auto Trait Implementations§

§

impl<Key, ValBuild, ValProbe> Freeze for HalfMultisetJoinState<Key, ValBuild, ValProbe>

§

impl<Key, ValBuild, ValProbe> RefUnwindSafe for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where Key: RefUnwindSafe, ValProbe: RefUnwindSafe, ValBuild: RefUnwindSafe,

§

impl<Key, ValBuild, ValProbe> Send for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where Key: Send, ValProbe: Send, ValBuild: Send,

§

impl<Key, ValBuild, ValProbe> Sync for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where Key: Sync, ValProbe: Sync, ValBuild: Sync,

§

impl<Key, ValBuild, ValProbe> Unpin for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where Key: Unpin, ValProbe: Unpin, ValBuild: Unpin,

§

impl<Key, ValBuild, ValProbe> UnwindSafe for HalfMultisetJoinState<Key, ValBuild, ValProbe>
where Key: UnwindSafe, ValBuild: RefUnwindSafe + UnwindSafe, ValProbe: UnwindSafe,

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

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

source§

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>,

source§

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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more