pub struct Intersection<S0, S1> { /* private fields */ }
Trait Implementations§
Source§impl<S0, S1> Borrowable for Intersection<S0, S1>
impl<S0, S1> Borrowable for Intersection<S0, S1>
Source§type Borrowed = Intersection<S0, S1>
type Borrowed = Intersection<S0, S1>
Borrowed = Self
Source§impl<S0, S1> HibitTree 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>>,
impl<S0, S1> HibitTree 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 DefaultData = <<<S0 as Borrowable>::Borrowed as HibitTree>::DefaultData as ConstBool>::And<<<S1 as Borrowable>::Borrowed as HibitTree>::DefaultData>
type DefaultData = <<<S0 as Borrowable>::Borrowed as HibitTree>::DefaultData as ConstBool>::And<<<S1 as Borrowable>::Borrowed as HibitTree>::DefaultData>
true if S0 & S1 are having DefaultData.
Source§const EXACT_HIERARCHY: bool = false
const EXACT_HIERARCHY: bool = false
Marker that this tree as a bitmap hierarchy does not have
false-positive bits in bitmasks.
Source§type LevelCount = <<S0 as Borrowable>::Borrowed as HibitTree>::LevelCount
type LevelCount = <<S0 as Borrowable>::Borrowed as HibitTree>::LevelCount
Hierarchy levels count (without a data level).
Source§type LevelMask = <<S0 as Borrowable>::Borrowed as HibitTree>::LevelMask
type LevelMask = <<S0 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, 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>>,
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>>,
type Data = (<<S0 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::Data, <<S1 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::Data)
type DataUnchecked = (<<S0 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::DataUnchecked, <<S1 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::DataUnchecked)
type DataOrDefault = (<<S0 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::DataOrDefault, <<S1 as Borrowable>::Borrowed as HibitTreeTypes<'this>>::DataOrDefault)
type Cursor = Cursor<'this, S0, S1>
Source§impl<S0, S1> LazyHibitTree for Intersection<S0, S1>where
Intersection<S0, S1>: RegularHibitTree,
impl<S0, S1> LazyHibitTree for Intersection<S0, S1>where
Intersection<S0, S1>: 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<S0, S1> Freeze for Intersection<S0, S1>
impl<S0, S1> RefUnwindSafe for Intersection<S0, S1>where
S0: RefUnwindSafe,
S1: RefUnwindSafe,
impl<S0, S1> Send for Intersection<S0, S1>
impl<S0, S1> Sync for Intersection<S0, S1>
impl<S0, S1> Unpin for Intersection<S0, S1>
impl<S0, S1> UnwindSafe for Intersection<S0, S1>where
S0: UnwindSafe,
S1: UnwindSafe,
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