[go: up one dir, main page]

pub trait WriterExt: Write {
    // Required methods
    unsafe fn reserve_with(
        &mut self,
        additional: usize
    ) -> Result<&mut [MaybeUninit<u8>]>;
    unsafe fn add_len(&mut self, additional: usize);
}
Expand description

WriterExt is a extension to write with reserved space. It is designed for SIMD serializing without bound-checking.

Required Methods§

source

unsafe fn reserve_with( &mut self, additional: usize ) -> Result<&mut [MaybeUninit<u8>]>

rerserve with additional space, equal as vector/bufmut reserve, but return the reserved buffer at [len: cap]

Safety

must be used with add_len

source

unsafe fn add_len(&mut self, additional: usize)

add len to the writer

Safety

must be used after reserve_with

Implementations on Foreign Types§

source§

impl WriterExt for Vec<u8>

source§

unsafe fn reserve_with( &mut self, additional: usize ) -> Result<&mut [MaybeUninit<u8>]>

source§

unsafe fn add_len(&mut self, additional: usize)

source§

impl WriterExt for Writer<BytesMut>

source§

unsafe fn add_len(&mut self, additional: usize)

source§

unsafe fn reserve_with( &mut self, additional: usize ) -> Result<&mut [MaybeUninit<u8>]>

source§

impl<W: WriterExt + ?Sized> WriterExt for &mut W

source§

unsafe fn add_len(&mut self, additional: usize)

source§

unsafe fn reserve_with( &mut self, additional: usize ) -> Result<&mut [MaybeUninit<u8>]>

source§

impl<W: WriterExt + ?Sized> WriterExt for Box<W>

source§

unsafe fn add_len(&mut self, additional: usize)

source§

unsafe fn reserve_with( &mut self, additional: usize ) -> Result<&mut [MaybeUninit<u8>]>

Implementors§