pub struct NodeInfo<'a> {
pub node: TreeNode,
pub is_root: bool,
pub ranges: &'a ChunkRangesRef,
pub l_ranges: &'a ChunkRangesRef,
pub r_ranges: &'a ChunkRangesRef,
pub full: bool,
pub query_leaf: bool,
pub is_half_leaf: bool,
}Expand description
Extended node info.
Some of the information is redundant, but it is convenient to have it all in one place.
Usually this is used within an iterator, so we hope that the compiler will optimize away the redundant information.
Fields§
§node: TreeNodethe node
is_root: boolthe node is the root node (needs special handling when computing hash)
ranges: &'a ChunkRangesRefranges of the node and it’s two children
l_ranges: &'a ChunkRangesRefleft child intersection with the query range
r_ranges: &'a ChunkRangesRefright child intersection with the query range
full: boolthe node is fully included in the query range
query_leaf: boolthe node is a leaf for the purpose of this query
is_half_leaf: booltrue if this node is the last leaf, and it is <= half full
Trait Implementations§
source§impl<'a> PartialEq for NodeInfo<'a>
impl<'a> PartialEq for NodeInfo<'a>
impl<'a> Eq for NodeInfo<'a>
impl<'a> StructuralEq for NodeInfo<'a>
impl<'a> StructuralPartialEq for NodeInfo<'a>
Auto Trait Implementations§
impl<'a> RefUnwindSafe for NodeInfo<'a>
impl<'a> Send for NodeInfo<'a>
impl<'a> Sync for NodeInfo<'a>
impl<'a> Unpin for NodeInfo<'a>
impl<'a> UnwindSafe for NodeInfo<'a>
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