Struct radix_trie::NibbleVec[][src]

pub struct NibbleVec { /* fields omitted */ }

A data-structure for storing a sequence of 4-bit values.

Values are stored in a Vec<u8>, with two values per byte.

Values at even indices are stored in the most-significant half of their byte, while values at odd indices are stored in the least-significant half.

Imagine a vector of MSB first bytes, and you'll be right.

n = [_ _ | _ _ | _ _]

Methods

impl NibbleVec
[src]

Create an empty nibble vector.

Create a nibble vector from a vector of bytes.

Each byte is split into two 4-bit entries (MSB, LSB).

Important traits for &'a [u8]

Returns a byte slice of the nibble vector's contents.

Important traits for Vec<u8>

Converts a nibble vector into a byte vector.

This consumes the nibble vector, so we do not need to copy its contents.

Get the number of elements stored in the vector.

Returns true if the nibble vector has a length of 0.

Fetch a single entry from the vector.

Guaranteed to be a value in the interval [0, 15].

Panics if idx >= self.len().

Add a single nibble to the vector.

Only the 4 least-significant bits of the value are used.

Split the vector into two parts.

All elements at or following the given index are returned in a new NibbleVec, with exactly idx elements remaining in this vector.

Panics if idx > self.len().

Append another nibble vector whilst consuming this vector.

Trait Implementations

impl<'a> Into<Vec<u8>> for &'a NibbleVec
[src]

Important traits for Vec<u8>

Performs the conversion.

impl Into<Vec<u8>> for NibbleVec
[src]

Important traits for Vec<u8>

Performs the conversion.

impl Clone for NibbleVec
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Default for NibbleVec
[src]

Returns the "default value" for a type. Read more

impl Debug for NibbleVec
[src]

Formats the value using the given formatter. Read more

impl Eq for NibbleVec
[src]

impl PartialEq<[u8]> for NibbleVec
[src]

Compare a NibbleVec and a slice of bytes element-by-element. Bytes are not interpreted as two NibbleVec entries.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialEq<NibbleVec> for NibbleVec
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'a> From<&'a [u8]> for NibbleVec
[src]

Performs the conversion.

impl From<Vec<u8>> for NibbleVec
[src]

Performs the conversion.

Auto Trait Implementations

impl Send for NibbleVec

impl Sync for NibbleVec