Enum re_int_histogram::tree::Node
source · enum Node {
BranchNode(BranchNode),
SparseLeaf(SparseLeaf),
DenseLeaf(DenseLeaf),
}
Variants§
BranchNode(BranchNode)
An inner node, addressed by the next few bits of the key/address.
Never at the BOTTOM_LEVEL
level.
SparseLeaf(SparseLeaf)
A list of (key, count)
pairs.
When this becomes too long, it will be converted into a BranchNode
.
Never at the BOTTOM_LEVEL
level.
DenseLeaf(DenseLeaf)
Optimization for dense histograms (entries at N, N+1, N+2, …
).
Always at the BOTTOM_LEVEL
level.
Implementations§
source§impl Node
impl Node
fn increment(&mut self, level: u64, addr: u64, inc: u32)
sourcefn decrement(&mut self, level: u64, addr: u64, dec: u32) -> u32
fn decrement(&mut self, level: u64, addr: u64, dec: u32) -> u32
Returns how much the total count decreased by.
sourcefn remove(&mut self, my_addr: u64, my_level: u64, range: RangeU64) -> u64
fn remove(&mut self, my_addr: u64, my_level: u64, range: RangeU64) -> u64
Returns how much the total count decreased by.
fn is_empty(&self) -> bool
fn total_count(&self) -> u64
fn min_key(&self, my_addr: u64, my_level: u64) -> Option<u64>
fn max_key(&self, my_addr: u64, my_level: u64) -> Option<u64>
fn range_count(&self, my_addr: u64, my_level: u64, range: RangeU64) -> u64
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Node
impl RefUnwindSafe for Node
impl Send for Node
impl Sync for Node
impl Unpin for Node
impl UnwindSafe for Node
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