pub trait ExternallyLengthPrefixed: Sized {
    // Required methods
    fn read(
        read: &mut dyn BitRead,
        byte_order: ByteOrder,
        ctx: &mut dyn Any,
        length: usize
    ) -> Result<Self, Error>;
    fn write(
        &self,
        write: &mut dyn BitWrite,
        byte_order: ByteOrder,
        ctx: &mut dyn Any
    ) -> Result<(), Error>;
}
Expand description

A trait for variable-length types with a disjoint length prefix.

Required Methods§

source

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ExternallyLengthPrefixed for String

source§

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source§

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

source§

impl<K, V> ExternallyLengthPrefixed for BTreeMap<K, V>
where K: Protocol + Ord, V: Protocol,

source§

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source§

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

source§

impl<K, V> ExternallyLengthPrefixed for HashMap<K, V>
where K: Protocol + Hash + Eq, V: Protocol,

source§

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source§

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

source§

impl<T> ExternallyLengthPrefixed for BinaryHeap<T>
where T: Protocol + Ord,

source§

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source§

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

source§

impl<T> ExternallyLengthPrefixed for BTreeSet<T>
where T: Protocol + Ord,

source§

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source§

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

source§

impl<T> ExternallyLengthPrefixed for LinkedList<T>
where T: Protocol,

source§

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source§

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

source§

impl<T> ExternallyLengthPrefixed for VecDeque<T>
where T: Protocol,

source§

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source§

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

source§

impl<T> ExternallyLengthPrefixed for Vec<T>
where T: Protocol,

source§

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source§

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

source§

impl<T> ExternallyLengthPrefixed for HashSet<T>
where T: Protocol + Hash + Eq,

source§

fn read( read: &mut dyn BitRead, byte_order: ByteOrder, ctx: &mut dyn Any, length: usize ) -> Result<Self, Error>

source§

fn write( &self, write: &mut dyn BitWrite, byte_order: ByteOrder, ctx: &mut dyn Any ) -> Result<(), Error>

Implementors§