Enum columnar::adts::art::ArtNode

source ·
pub enum ArtNode {
    Some(Box<[(u8, ArtNode)]>),
    Many(Box<[ArtNode; 256]>),
    Path(Box<[u8]>, Box<ArtNode>),
    None,
}
Expand description

An ART node exists in the context of a sequence of bytes, and indicates the possible options based on the next byte in the sequence.

Variants§

§

Some(Box<[(u8, ArtNode)]>)

Some of the bytes continue to further nodes, but many do not.

§

Many(Box<[ArtNode; 256]>)

Many of the bytes continue to further nodes, although some may not. If a node is None, it didn’t actually go anywhere. The representation exists to be more economical than the Some variant. This is especially true if the associated ArtNode size is small, which it is not in this case, but will be once we flatten it.

§

Path(Box<[u8]>, Box<ArtNode>)

Indicates that there are no branching points for the next few bytes, after which the next node is provided.

§

None

Nothing to see here.

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> CopyAs<T> for T

source§

fn copy_as(self) -> T

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

§

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.