[][src]Struct patricia_tree::node::NodeEncoder

pub struct NodeEncoder<V: Encode> { /* fields omitted */ }

[cfg(feature = "binary-format")] Binary encoder for Node.

Binary format

const FLAG_HAS_VALUE: u8 = 0b0000_0010;
const FLAG_HAS_CHILD: u8 = 0b0000_1000;
const FLAG_HAS_SIBLING: u8 = 0b0010_0000;

struct BinNode {
    flags: u8,
    label_len: u8,
    level: u16 // Big Endian
    label: [u8; label_len],
    value: Option<V::Item>,
    child: Option<Node>,
    sibling: Option<Node>
}

Methods

impl<V: Encode> NodeEncoder<V>[src]

pub fn new(value_encoder: V) -> Self[src]

Makes a new NodeEncoder instance.

Trait Implementations

impl<V: Default + Encode> Default for NodeEncoder<V> where
    V::Item: Default
[src]

impl<V: Debug + Encode> Debug for NodeEncoder<V> where
    V::Item: Debug
[src]

impl<V: Encode> Encode for NodeEncoder<V>[src]

type Item = Node<V::Item>

The type of items to be encoded.

Auto Trait Implementations

impl<V> Send for NodeEncoder<V> where
    V: Send

impl<V> !Sync for NodeEncoder<V>

impl<V> Unpin for NodeEncoder<V> where
    V: Unpin,
    <V as Encode>::Item: Unpin

impl<V> UnwindSafe for NodeEncoder<V> where
    V: UnwindSafe,
    <V as Encode>::Item: UnwindSafe

impl<V> RefUnwindSafe for NodeEncoder<V> where
    V: RefUnwindSafe,
    <V as Encode>::Item: RefUnwindSafe

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = !

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> EncodeExt for T where
    T: Encode, 

impl<T> IoEncodeExt for T where
    T: Encode,