RHS

Enum RHS 

Source
pub enum RHS<'a, R> {
    Unsorted(&'a [R]),
    Sorted(&'a [R]),
}
Expand description

A wrapper around the right-hand side of your join.

Variants§

§

Unsorted(&'a [R])

Input which is not (necessarily) sorted. Searches of RHS will be O(n).

This variant can be explicitly created with RHS::new_unsorted or implicitly via the impl From<&[R]>.

§

Sorted(&'a [R])

Input which is known to be sorted according to the join predicate. Searches of RHS will be O(lg n)

This variant is explicitly created with RHS::new_sorted

Implementations§

Source§

impl<'a, R> RHS<'a, R>

Source

pub fn new_unsorted(rhs: &'a [R]) -> Self

Create a new RHS from the given slice.

Provided records will be searched linearly.

Source

pub fn new_sorted(rhs: &'a [R]) -> Self

Create a new RHS from the given slice where records are assumed to be sorted according to how they will be searched.

Provided records will be binary searched, yielding faster searches.

Trait Implementations§

Source§

impl<'a, R> From<&'a [R]> for RHS<'a, R>

Source§

fn from(rhs: &'a [R]) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<'a, R> Freeze for RHS<'a, R>

§

impl<'a, R> RefUnwindSafe for RHS<'a, R>
where R: RefUnwindSafe,

§

impl<'a, R> Send for RHS<'a, R>
where R: Sync,

§

impl<'a, R> Sync for RHS<'a, R>
where R: Sync,

§

impl<'a, R> Unpin for RHS<'a, R>

§

impl<'a, R> UnwindSafe for RHS<'a, R>
where R: RefUnwindSafe,

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