Trait TuplePack

pub trait TuplePack {
    // Required method
    fn pack<W>(
        &self,
        w: &mut W,
        tuple_depth: TupleDepth,
    ) -> Result<VersionstampOffset, Error>
       where W: Write;

    // Provided methods
    fn pack_root<W>(&self, w: &mut W) -> Result<VersionstampOffset, Error>
       where W: Write { ... }
    fn pack_to_vec(&self) -> Vec<u8>  { ... }
    fn pack_to_vec_with_versionstamp(&self) -> Vec<u8>  { ... }
    fn pack_into_vec(&self, output: &mut Vec<u8>) -> VersionstampOffset { ... }
    fn pack_into_vec_with_versionstamp(
        &self,
        output: &mut Vec<u8>,
    ) -> VersionstampOffset { ... }
}
Expand description

A type that can be packed

Required Methods§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

Provided Methods§

fn pack_root<W>(&self, w: &mut W) -> Result<VersionstampOffset, Error>
where W: Write,

fn pack_to_vec(&self) -> Vec<u8>

Pack value and returns the packed buffer

§Panics

Panics if the encoded data size doesn’t fit in u32.

fn pack_to_vec_with_versionstamp(&self) -> Vec<u8>

Pack value and returns the packed buffer

§Panics

Panics if there is multiple versionstamp present or if the encoded data size doesn’t fit in u32.

fn pack_into_vec(&self, output: &mut Vec<u8>) -> VersionstampOffset

Pack value into the given buffer

§Panics

Panics if the encoded data size doesn’t fit in u32.

fn pack_into_vec_with_versionstamp( &self, output: &mut Vec<u8>, ) -> VersionstampOffset

Pack value into the given buffer

§Panics

Panics if the encoded data size doesn’t fit in u32.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

§

impl TuplePack for &str

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for &[u8]

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for Cow<'_, str>

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for bool

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for f32

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for f64

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for i16

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for i32

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for i64

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for i128

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for isize

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for u16

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for u32

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for u64

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for u128

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for ()

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for usize

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for String

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for Vec<u8>

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for BigInt

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl TuplePack for BigUint

§

fn pack<W>( &self, w: &mut W, _tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0> TuplePack for (T0,)
where T0: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1> TuplePack for (T0, T1)
where T0: TuplePack, T1: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2> TuplePack for (T0, T1, T2)
where T0: TuplePack, T1: TuplePack, T2: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2, T3> TuplePack for (T0, T1, T2, T3)
where T0: TuplePack, T1: TuplePack, T2: TuplePack, T3: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2, T3, T4> TuplePack for (T0, T1, T2, T3, T4)
where T0: TuplePack, T1: TuplePack, T2: TuplePack, T3: TuplePack, T4: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2, T3, T4, T5> TuplePack for (T0, T1, T2, T3, T4, T5)
where T0: TuplePack, T1: TuplePack, T2: TuplePack, T3: TuplePack, T4: TuplePack, T5: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2, T3, T4, T5, T6> TuplePack for (T0, T1, T2, T3, T4, T5, T6)
where T0: TuplePack, T1: TuplePack, T2: TuplePack, T3: TuplePack, T4: TuplePack, T5: TuplePack, T6: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7> TuplePack for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: TuplePack, T1: TuplePack, T2: TuplePack, T3: TuplePack, T4: TuplePack, T5: TuplePack, T6: TuplePack, T7: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> TuplePack for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where T0: TuplePack, T1: TuplePack, T2: TuplePack, T3: TuplePack, T4: TuplePack, T5: TuplePack, T6: TuplePack, T7: TuplePack, T8: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> TuplePack for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T0: TuplePack, T1: TuplePack, T2: TuplePack, T3: TuplePack, T4: TuplePack, T5: TuplePack, T6: TuplePack, T7: TuplePack, T8: TuplePack, T9: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TuplePack for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)
where T0: TuplePack, T1: TuplePack, T2: TuplePack, T3: TuplePack, T4: TuplePack, T5: TuplePack, T6: TuplePack, T7: TuplePack, T8: TuplePack, T9: TuplePack, T10: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> TuplePack for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)
where T0: TuplePack, T1: TuplePack, T2: TuplePack, T3: TuplePack, T4: TuplePack, T5: TuplePack, T6: TuplePack, T7: TuplePack, T8: TuplePack, T9: TuplePack, T10: TuplePack, T11: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T> TuplePack for &[T]
where T: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T> TuplePack for Option<T>
where T: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T> TuplePack for &T
where T: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

§

impl<T> TuplePack for Vec<T>
where T: TuplePack,

§

fn pack<W>( &self, w: &mut W, tuple_depth: TupleDepth, ) -> Result<VersionstampOffset, Error>
where W: Write,

Implementors§

§

impl TuplePack for Element<'_>

§

impl TuplePack for Bytes<'_>

§

impl TuplePack for Uuid

§

impl TuplePack for Versionstamp