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: TreeNode
the node
is_root: bool
the node is the root node (needs special handling when computing hash)
ranges: &'a ChunkRangesRef
ranges of the node and it’s two children
l_ranges: &'a ChunkRangesRef
left child intersection with the query range
r_ranges: &'a ChunkRangesRef
right child intersection with the query range
full: bool
the node is fully included in the query range
query_leaf: bool
the node is a leaf for the purpose of this query
is_half_leaf: bool
true 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> 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