pub struct Map<S, F, D = ConstFalse> { /* private fields */ }
Trait Implementations§
Source§impl<S, F, D> HibitTree for Map<S, F, D>where
S: Borrowable<Borrowed: HibitTree>,
for<'a, 'b> F: UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::Data> + UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
D: ConstBool,
impl<S, F, D> HibitTree for Map<S, F, D>where
S: Borrowable<Borrowed: HibitTree>,
for<'a, 'b> F: UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::Data> + UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
D: ConstBool,
Source§const EXACT_HIERARCHY: bool = <S::Borrowed as HibitTree>::EXACT_HIERARCHY
const EXACT_HIERARCHY: bool = <S::Borrowed as HibitTree>::EXACT_HIERARCHY
Marker that this tree as a bitmap hierarchy does not have
false-positive bits in bitmasks.
Source§type DefaultData = D
type DefaultData = D
Tree capability of returning Default value for absent elements FAST. Read more
Source§type LevelCount = <<S as Borrowable>::Borrowed as HibitTree>::LevelCount
type LevelCount = <<S as Borrowable>::Borrowed as HibitTree>::LevelCount
Hierarchy levels count (without a data level).
Source§type LevelMask = <<S as Borrowable>::Borrowed as HibitTree>::LevelMask
type LevelMask = <<S as Borrowable>::Borrowed as HibitTree>::LevelMask
Bitmask used in each Node.
Source§fn data(
&self,
index: &HierarchyIndex<Self::LevelMask, Self::LevelCount>,
) -> Option<<Self as HibitTreeTypes<'_>>::Data>
fn data( &self, index: &HierarchyIndex<Self::LevelMask, Self::LevelCount>, ) -> Option<<Self as HibitTreeTypes<'_>>::Data>
Safety Read more
Source§unsafe fn data_unchecked(
&self,
index: &HierarchyIndex<Self::LevelMask, Self::LevelCount>,
) -> <Self as HibitTreeTypes<'_>>::DataUnchecked
unsafe fn data_unchecked( &self, index: &HierarchyIndex<Self::LevelMask, Self::LevelCount>, ) -> <Self as HibitTreeTypes<'_>>::DataUnchecked
Safety Read more
Source§unsafe fn data_or_default(
&self,
index: &HierarchyIndex<Self::LevelMask, Self::LevelCount>,
) -> <Self as HibitTreeTypes<'_>>::DataOrDefault
unsafe fn data_or_default( &self, index: &HierarchyIndex<Self::LevelMask, Self::LevelCount>, ) -> <Self as HibitTreeTypes<'_>>::DataOrDefault
Safety Read more
Source§fn get(
&self,
index: impl TryInto<HierarchyIndex<<Self as HibitTree>::LevelMask, Self::LevelCount>>,
) -> Option<<Self as HibitTreeTypes<'_>>::Data>
fn get( &self, index: impl TryInto<HierarchyIndex<<Self as HibitTree>::LevelMask, Self::LevelCount>>, ) -> Option<<Self as HibitTreeTypes<'_>>::Data>
Source§unsafe fn get_unchecked(
&self,
index: impl TryInto<HierarchyIndex<<Self as HibitTree>::LevelMask, Self::LevelCount>>,
) -> <Self as HibitTreeTypes<'_>>::DataUnchecked
unsafe fn get_unchecked( &self, index: impl TryInto<HierarchyIndex<<Self as HibitTree>::LevelMask, Self::LevelCount>>, ) -> <Self as HibitTreeTypes<'_>>::DataUnchecked
Safety Read more
Source§fn get_or_default(
&self,
index: impl TryInto<HierarchyIndex<<Self as HibitTree>::LevelMask, Self::LevelCount>>,
) -> <Self as HibitTreeTypes<'_>>::DataOrDefaultwhere
Self::DefaultData: IsConstTrue,
fn get_or_default(
&self,
index: impl TryInto<HierarchyIndex<<Self as HibitTree>::LevelMask, Self::LevelCount>>,
) -> <Self as HibitTreeTypes<'_>>::DataOrDefaultwhere
Self::DefaultData: IsConstTrue,
Panic Read more
fn iter(&self) -> Iter<'_, Self> ⓘ
Source§fn map<F>(self, f: F) -> Map<Self, F>where
for<'a, 'b> F: UnaryFunction<<Self as HibitTreeTypes<'a>>::Data> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
fn map<F>(self, f: F) -> Map<Self, F>where
for<'a, 'b> F: UnaryFunction<<Self as HibitTreeTypes<'a>>::Data> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
See crate::map
Source§fn map_w_default<F>(self, f: F) -> Map<Self, F, ConstTrue>where
Self::DefaultData: IsConstTrue,
for<'a, 'b> F: UnaryFunction<<Self as HibitTreeTypes<'a>>::Data> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
fn map_w_default<F>(self, f: F) -> Map<Self, F, ConstTrue>where
Self::DefaultData: IsConstTrue,
for<'a, 'b> F: UnaryFunction<<Self as HibitTreeTypes<'a>>::Data> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
Source§fn ref_map<F>(&self, f: F) -> Map<&Self, F>where
for<'a, 'b> F: UnaryFunction<<Self as HibitTreeTypes<'a>>::Data> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
fn ref_map<F>(&self, f: F) -> Map<&Self, F>where
for<'a, 'b> F: UnaryFunction<<Self as HibitTreeTypes<'a>>::Data> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
See crate::map
Source§fn ref_map_w_default<F>(&self, f: F) -> Map<&Self, F, ConstTrue>where
Self::DefaultData: IsConstTrue,
for<'a, 'b> F: UnaryFunction<<Self as HibitTreeTypes<'a>>::Data> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
fn ref_map_w_default<F>(&self, f: F) -> Map<&Self, F, ConstTrue>where
Self::DefaultData: IsConstTrue,
for<'a, 'b> F: UnaryFunction<<Self as HibitTreeTypes<'a>>::Data> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<Self as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<Self as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
Source§impl<'this, S, F, D> HibitTreeTypes<'this> for Map<S, F, D>where
S: Borrowable<Borrowed: HibitTree>,
for<'a, 'b> F: UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::Data> + UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
D: ConstBool,
impl<'this, S, F, D> HibitTreeTypes<'this> for Map<S, F, D>where
S: Borrowable<Borrowed: HibitTree>,
for<'a, 'b> F: UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::Data> + UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::DataUnchecked> + UnaryFunction<<S::Borrowed as HibitTreeTypes<'a>>::DataOrDefault> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::Data> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataUnchecked> + UnaryFunction<<<S::Borrowed as HibitTreeTypes<'a>>::Cursor as HibitTreeCursorTypes<'b>>::DataOrDefault>,
D: ConstBool,
type Data = <F as UnaryFunction<<<S as Borrowable>::Borrowed as HibitTreeTypes<'this>>::Data>>::Output
type DataUnchecked = <F as UnaryFunction<<<S as Borrowable>::Borrowed as HibitTreeTypes<'this>>::DataUnchecked>>::Output
type DataOrDefault = <F as UnaryFunction<<<S as Borrowable>::Borrowed as HibitTreeTypes<'this>>::DataOrDefault>>::Output
type Cursor = Cursor<'this, S, F, D>
Source§impl<S, F, D> LazyHibitTree for Map<S, F, D>where
Map<S, F, D>: RegularHibitTree,
impl<S, F, D> LazyHibitTree for Map<S, F, D>where
Map<S, F, D>: RegularHibitTree,
Source§fn materialize<T>(self) -> Twhere
Self: RegularHibitTree,
T: FromHibitTree<Self, LevelMask = Self::LevelMask, LevelCount = Self::LevelCount>,
fn materialize<T>(self) -> Twhere
Self: RegularHibitTree,
T: FromHibitTree<Self, LevelMask = Self::LevelMask, LevelCount = Self::LevelCount>,
Make a concrete collection from a lazy/virtual one.
fn materialize_filtered<T, F>(self, f: F) -> Twhere
Self: RegularHibitTree,
T: FromHibitTree<Self, LevelMask = Self::LevelMask, LevelCount = Self::LevelCount>,
for<'a, 'b> F: UnaryFunction<&'a HibitTreeData<'b, Self>, Output = bool>,
Auto Trait Implementations§
impl<S, F, D> Freeze for Map<S, F, D>
impl<S, F, D> RefUnwindSafe for Map<S, F, D>
impl<S, F, D> Send for Map<S, F, D>
impl<S, F, D> Sync for Map<S, F, D>
impl<S, F, D> Unpin for Map<S, F, D>
impl<S, F, D> UnwindSafe for Map<S, F, D>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more