pub struct ScopeIndex { /* private fields */ }Expand description
Pre-indexed file_path → symbol indices map for fast repeated
scope-label lookups (the TUI render loop).
Built once from an immutable symbol slice; each label() call then
scans only the symbols of the chunk’s file rather than the entire
index. For a 200K-symbol repo this turns each redraw’s O(N × rows)
scan into O(symbols_per_file × rows) — typically a handful per row.
Stores u32 indices into the original symbol slice, so the slice
the caller passes to label() must be the same one that was used
to build the index (length and order preserved). Pass the
VelesIndex::symbols() slice and it just works.
Implementations§
Trait Implementations§
Source§impl Debug for ScopeIndex
impl Debug for ScopeIndex
Source§impl Default for ScopeIndex
impl Default for ScopeIndex
Source§fn default() -> ScopeIndex
fn default() -> ScopeIndex
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for ScopeIndex
impl RefUnwindSafe for ScopeIndex
impl Send for ScopeIndex
impl Sync for ScopeIndex
impl Unpin for ScopeIndex
impl UnsafeUnpin for ScopeIndex
impl UnwindSafe for ScopeIndex
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more