Trait heed::BytesEncode

source ·
pub trait BytesEncode<'a> {
    type EItem: 'a + ?Sized;

    // Required method
    fn bytes_encode(
        item: &'a Self::EItem,
    ) -> Result<Cow<'a, [u8]>, Box<dyn Error + Sync + Send>>;
}
Expand description

A trait that represents an encoding structure.

Required Associated Types§

source

type EItem: 'a + ?Sized

The type to encode.

Required Methods§

source

fn bytes_encode( item: &'a Self::EItem, ) -> Result<Cow<'a, [u8]>, Box<dyn Error + Sync + Send>>

Encode the given item as bytes.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl BytesEncode<'_> for Str

source§

type EItem = str

source§

fn bytes_encode( item: &<Str as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl BytesEncode<'_> for Unit

source§

type EItem = ()

source§

fn bytes_encode( _item: &<Unit as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl BytesEncode<'_> for I8

source§

type EItem = i8

source§

fn bytes_encode( item: &<I8 as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl BytesEncode<'_> for U8

source§

type EItem = u8

source§

fn bytes_encode( item: &<U8 as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<'a> BytesEncode<'a> for Bytes

source§

type EItem = [u8]

source§

fn bytes_encode( item: &'a <Bytes as BytesEncode<'a>>::EItem, ) -> Result<Cow<'a, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<'a, T> BytesEncode<'a> for SerdeBincode<T>
where T: 'a + Serialize,

source§

type EItem = T

source§

fn bytes_encode( item: &'a <SerdeBincode<T> as BytesEncode<'a>>::EItem, ) -> Result<Cow<'a, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<'a, T> BytesEncode<'a> for SerdeJson<T>
where T: 'a + Serialize,

source§

type EItem = T

source§

fn bytes_encode( item: &<SerdeJson<T> as BytesEncode<'a>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<O> BytesEncode<'_> for I16<O>
where O: ByteOrder,

source§

type EItem = i16

source§

fn bytes_encode( item: &<I16<O> as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<O> BytesEncode<'_> for I32<O>
where O: ByteOrder,

source§

type EItem = i32

source§

fn bytes_encode( item: &<I32<O> as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<O> BytesEncode<'_> for I64<O>
where O: ByteOrder,

source§

type EItem = i64

source§

fn bytes_encode( item: &<I64<O> as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<O> BytesEncode<'_> for I128<O>
where O: ByteOrder,

source§

type EItem = i128

source§

fn bytes_encode( item: &<I128<O> as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<O> BytesEncode<'_> for U16<O>
where O: ByteOrder,

source§

type EItem = u16

source§

fn bytes_encode( item: &<U16<O> as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<O> BytesEncode<'_> for U32<O>
where O: ByteOrder,

source§

type EItem = u32

source§

fn bytes_encode( item: &<U32<O> as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<O> BytesEncode<'_> for U64<O>
where O: ByteOrder,

source§

type EItem = u64

source§

fn bytes_encode( item: &<U64<O> as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

source§

impl<O> BytesEncode<'_> for U128<O>
where O: ByteOrder,

source§

type EItem = u128

source§

fn bytes_encode( item: &<U128<O> as BytesEncode<'_>>::EItem, ) -> Result<Cow<'_, [u8]>, Box<dyn Error + Sync + Send>>

Implementors§