Struct TreeVec

Source
pub struct TreeVec<N> { /* private fields */ }
Expand description

An owned tree, which is stored in contigious memory. Fast traversal and query times.

Implementations§

Source§

impl<N> TreeVec<N>

Source

pub fn new(bytes: Vec<u8>) -> TreeVec<N>

Takes ownership of the bytes, and interprets them as a tree. No checks are performed wether these actually describe a sensible tree. None of Rusts safety guarantees are violated if providing ‘random’ bytes in this constructor. For bugfree code utilizing bytes written with TreeBuilder is recommended, though.

Source

pub fn as_tree_slice(&self) -> &TreeSlice<N>

Methods from Deref<Target = TreeSlice<N>>§

Source

pub fn read_node(&self) -> (N::Value, Branches<'_, N>)
where N: Node,

Deserializes the value of the root node of this silce, and returns an iterator over its children.

Trait Implementations§

Source§

impl<N> Deref for TreeVec<N>

Source§

type Target = TreeSlice<N>

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.

Auto Trait Implementations§

§

impl<N> Freeze for TreeVec<N>

§

impl<N> RefUnwindSafe for TreeVec<N>
where N: RefUnwindSafe,

§

impl<N> Send for TreeVec<N>
where N: Send,

§

impl<N> Sync for TreeVec<N>
where N: Sync,

§

impl<N> Unpin for TreeVec<N>
where N: Unpin,

§

impl<N> UnwindSafe for TreeVec<N>
where N: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.