Trait HibitTreeTypes

Source
pub trait HibitTreeTypes<'this, ImplicitBounds = &'this Self> {
    type Data;
    type DataUnchecked;
    type Cursor: HibitTreeCursor<'this, Src = Self>;
}

Required Associated Types§

Implementors§

Source§

impl<'a, T, const DEPTH: usize> HibitTreeTypes<'a> for DenseTree<T, DEPTH>
where ConstUsize<DEPTH>: ConstInteger,

Source§

type Data = &'a T

Source§

type DataUnchecked = &'a T

Source§

type Cursor = Cursor<'a, T, DEPTH>

Source§

impl<'item, 'this, Iter, T> HibitTreeTypes<'this> for MultiIntersection<Iter>
where Iter: Iterator<Item = &'item T> + Clone, T: HibitTree + 'item,

Source§

type Data = IntoIter<<<<Iter as Iterator>::Item as Ref>::Type as HibitTreeTypes<'item>>::Data, N>

Source§

type DataUnchecked = DataUnchecked<Iter>

Source§

type Cursor = Cursor<'this, 'item, Iter>

Source§

impl<'item, 'this, Iter, T> HibitTreeTypes<'this> for MultiUnion<Iter>
where Iter: Iterator<Item = &'item T> + Clone, T: HibitTree + 'item,

Source§

type Data = IntoIter<<<<Iter as Iterator>::Item as Ref>::Type as HibitTreeTypes<'item>>::Data, N>

Source§

type DataUnchecked = DataUnchecked<Iter>

Source§

type Cursor = Cursor<'this, 'item, Iter>

Source§

impl<'this, Levels, Data, R> HibitTreeTypes<'this> for SparseTree<Levels, Data, R>
where Levels: SparseTreeLevels, R: DefaultRequirement,

Source§

type Data = &'this Data

Source§

type DataUnchecked = &'this Data

Source§

type Cursor = Cursor<'this, Levels, Data, R>

Source§

impl<'this, S0, S1> HibitTreeTypes<'this> for Intersection<S0, S1>
where S0: Borrowable<Borrowed: HibitTree>, S1: Borrowable<Borrowed: HibitTree<LevelCount = <S0::Borrowed as HibitTree>::LevelCount, LevelMask = <S0::Borrowed as HibitTree>::LevelMask>>,

Source§

type Data = (<<S0 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::Data, <<S1 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::Data)

Source§

type DataUnchecked = (<<S0 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::DataUnchecked, <<S1 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::DataUnchecked)

Source§

type Cursor = Cursor<'this, S0, S1>

Source§

impl<'this, S0, S1> HibitTreeTypes<'this> for Union<S0, S1>
where S0: Borrowable<Borrowed: HibitTree>, S1: Borrowable<Borrowed: HibitTree<LevelCount = <S0::Borrowed as HibitTree>::LevelCount, LevelMask = <S0::Borrowed as HibitTree>::LevelMask>>,

Source§

type Data = (Option<<<S0 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::Data>, Option<<<S1 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::Data>)

Source§

type DataUnchecked = <Union<S0, S1> as HibitTreeTypes<'this>>::Data

Source§

type Cursor = Cursor<'this, S0, S1>

Source§

impl<'this, S, F> HibitTreeTypes<'this> for Map<S, F>
where S: Borrowable<Borrowed: RegularHibitTree>, F: for<'a> MapFunction<'a, <S::Borrowed as HibitTreeTypes<'a>>::Data>,

Source§

type Data = <F as MapFunction<'this, <<S as Borrowable>::Borrowed as HibitTreeTypes<'this>>::Data>>::Output

Source§

type DataUnchecked = <Map<S, F> as HibitTreeTypes<'this>>::Data

Source§

type Cursor = Cursor<'this, S, F>

Source§

impl<'this, S, I, F> HibitTreeTypes<'this> for MultiMapFold<S, I, F>
where S: MultiHibitTree, I: NullaryFunction, F: for<'a> BinaryFunction<I::Output, <S as MultiHibitTreeTypes<'a>>::IterItem, Output = I::Output>,

Source§

type Data = <I as NullaryFunction>::Output

Source§

type DataUnchecked = <MultiMapFold<S, I, F> as HibitTreeTypes<'this>>::Data

Source§

type Cursor = Cursor<'this, S, I, F>