columnar::bytes

Struct Sequence

Source
pub struct Sequence;
Expand description

A sequential byte layout for AsBytes and FromBytes implementors.

The layout is aligned like a sequence of u64, where we repeatedly announce a length, and then follow it by that many bytes. We may need to follow this with padding bytes. Encodes and decodes bytes sequences, by prepending the length and appending the all sequences.

Trait Implementations§

Source§

impl EncodeDecode for Sequence

Source§

fn length_in_words<'a, A>(bytes: &A) -> usize
where A: AsBytes<'a>,

Encoded length in number of u64 words required.
Source§

fn encode<'a, A>(store: &mut Vec<u64>, bytes: &A)
where A: AsBytes<'a>,

Encodes bytes into a sequence of u64.
Source§

fn write<'a, A, W: Write>(writer: W, bytes: &A) -> Result<()>
where A: AsBytes<'a>,

Writes bytes in the encoded format to an arbitrary writer.
Source§

fn decode<'a>(store: &'a [u64]) -> impl Iterator<Item = &'a [u8]>

Decodes bytes from a sequence of u64.
Source§

fn length_in_bytes<'a, A>(bytes: &A) -> usize
where A: AsBytes<'a>,

Encoded length in number of u8 bytes required. Read more

Auto Trait Implementations§

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> CopyAs<T> for T

Source§

fn copy_as(self) -> T

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<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.