Trait Codec

Source
pub trait Codec<Context>
where Self: Sized,
{ // Required methods fn encode( self, buf: &mut impl EncodeBuffer, ctx: Context, ) -> Result<(), EncodeError>; fn decode( buf: &mut impl DecodeBuffer, ctx: Context, ) -> Result<Self, DecodeError>; }

Required Methods§

Source

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Context, ) -> Result<(), EncodeError>

Source

fn decode( buf: &mut impl DecodeBuffer, ctx: Context, ) -> Result<Self, DecodeError>

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§

Source§

impl Codec<Endian> for f32

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for f64

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for i8

Source§

fn encode( self, buf: &mut impl EncodeBuffer, _: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, _: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for i16

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for i32

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for i64

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for i128

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for u16

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for u32

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for u64

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<Endian> for u128

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: Endian, ) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: Endian) -> Result<Self, DecodeError>

Source§

impl Codec<()> for bool

Source§

fn encode(self, buf: &mut impl EncodeBuffer, _: ()) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, _: ()) -> Result<Self, DecodeError>

Source§

impl Codec<()> for u8

Source§

fn encode(self, buf: &mut impl EncodeBuffer, _: ()) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, _: ()) -> Result<Self, DecodeError>

Source§

impl<A: Copy, T: Default + Copy + Codec<A>, const SIZE: usize> Codec<A> for [T; SIZE]

Source§

fn encode(self, buf: &mut impl EncodeBuffer, ctx: A) -> Result<(), EncodeError>

Source§

fn decode(buf: &mut impl DecodeBuffer, ctx: A) -> Result<Self, DecodeError>

Source§

impl<const SIZE: usize> Codec<StringContext> for String<SIZE>

Source§

fn encode( self, buf: &mut impl EncodeBuffer, ctx: StringContext, ) -> Result<(), EncodeError>

Source§

fn decode( buf: &mut impl DecodeBuffer, ctx: StringContext, ) -> Result<Self, DecodeError>

Implementors§