pub struct Tree {
pub name: SmallVec<[u8; 23]>,
pub id: ObjectId,
pub num_entries: Option<u32>,
pub children: Vec<Tree>,
}
Expand description
A structure to associate object ids of a tree with sections in the index entries list.
It allows to more quickly build trees by avoiding as it can quickly reuse portions of the index and its associated tree ids if there was no change to them. Portions of this tree are invalidated as the index is changed.
Fields§
§name: SmallVec<[u8; 23]>
The name of the tree/directory, or empty if it’s the root tree.
id: ObjectId
The id of the directory tree of the associated tree object.
num_entries: Option<u32>
The amount of non-tree items in this directory tree, including sub-trees, recursively.
The value of the top-level tree is thus equal to the value of the total amount of entries.
If None
, the tree is considered invalid and needs to be refreshed
children: Vec<Tree>
The child-trees below the current tree.
Implementations§
Trait Implementations§
impl Eq for Tree
impl StructuralPartialEq for Tree
Auto Trait Implementations§
impl Freeze for Tree
impl RefUnwindSafe for Tree
impl Send for Tree
impl Sync for Tree
impl Unpin for Tree
impl UnwindSafe for Tree
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)