Struct dfir_rs::compiled::pull::HalfSetJoinState

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

Trait Implementations§

source§

impl<Key, ValBuild, ValProbe> Clear for HalfSetJoinState<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 HalfSetJoinState<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 HalfSetJoinState<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 HalfSetJoinState<Key, ValBuild, ValProbe>
where Key: Clone + Eq + Hash, ValBuild: Clone + Eq, 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 HalfSetJoinState<Key, ValBuild, ValProbe>

§

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

§

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

§

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

§

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

§

impl<Key, ValBuild, ValProbe> UnwindSafe for HalfSetJoinState<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