pub struct BufferedLeb128Writer<W> { /* private fields */ }Expand description
Buffered writer for canonical LEB128 integers.
Values are encoded directly into the internal output buffer and flushed to the wrapped writer in larger chunks.
§Flush contract
Pending buffered bytes are not flushed from Drop. Call Write::flush
or Self::into_inner to guarantee that all bytes reach the wrapped
writer. Self::get_ref and Self::get_mut can observe the wrapped
writer before pending bytes have been flushed.
§Target-width integers
usize and isize methods use the current Rust target’s pointer width.
Prefer fixed-width integer methods such as write_u64 or write_i64 for
persistent files and cross-platform protocols.
Implementations§
Source§impl<W> BufferedLeb128Writer<W>
impl<W> BufferedLeb128Writer<W>
Sourcepub fn new(inner: W) -> Self
pub fn new(inner: W) -> Self
Creates a buffered LEB128 writer with the default buffer capacity.
Sourcepub fn with_capacity(inner: W, capacity: usize) -> Self
pub fn with_capacity(inner: W, capacity: usize) -> Self
Creates a buffered LEB128 writer with at least capacity bytes.
Source§impl<W> BufferedLeb128Writer<W>where
W: Write,
impl<W> BufferedLeb128Writer<W>where
W: Write,
Sourcepub fn into_inner(self) -> Result<W>
pub fn into_inner(self) -> Result<W>
Flushes pending bytes and returns the underlying writer.
Sourcepub fn write_utf8_string(&mut self, value: &str) -> Result<()>
pub fn write_utf8_string(&mut self, value: &str) -> Result<()>
Writes a UTF-8 string prefixed by an unsigned LEB128 byte length.
The length prefix is encoded as usize, so this format is target-width
dependent. Prefer a fixed-width length prefix for persistent files and
cross-platform protocols.
Source§impl<W> BufferedLeb128Writer<W>where
W: Write,
impl<W> BufferedLeb128Writer<W>where
W: Write,
Sourcepub fn write_u128(&mut self, value: u128) -> Result<()>
pub fn write_u128(&mut self, value: u128) -> Result<()>
Writes an unsigned LEB128 u128.
Sourcepub fn write_usize(&mut self, value: usize) -> Result<()>
pub fn write_usize(&mut self, value: usize) -> Result<()>
Writes an unsigned LEB128 usize.
Sourcepub fn write_i128(&mut self, value: i128) -> Result<()>
pub fn write_i128(&mut self, value: i128) -> Result<()>
Writes a signed LEB128 i128.
Sourcepub fn write_isize(&mut self, value: isize) -> Result<()>
pub fn write_isize(&mut self, value: isize) -> Result<()>
Writes a signed LEB128 isize.
Trait Implementations§
Source§impl<W> Seek for BufferedLeb128Writer<W>
impl<W> Seek for BufferedLeb128Writer<W>
Source§fn seek(&mut self, position: SeekFrom) -> Result<u64>
fn seek(&mut self, position: SeekFrom) -> Result<u64>
Flushes pending bytes before seeking the wrapped writer.
1.55.0 · Source§fn rewind(&mut self) -> Result<(), Error>
fn rewind(&mut self) -> Result<(), Error>
Source§fn stream_len(&mut self) -> Result<u64, Error>
fn stream_len(&mut self) -> Result<u64, Error>
seek_stream_len)Source§impl<W> Write for BufferedLeb128Writer<W>where
W: Write,
impl<W> Write for BufferedLeb128Writer<W>where
W: Write,
Source§fn write_all(&mut self, buffer: &[u8]) -> Result<()>
fn write_all(&mut self, buffer: &[u8]) -> Result<()>
Writes all bytes through the internal buffer.
Source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector)Source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored)Auto Trait Implementations§
impl<W> Freeze for BufferedLeb128Writer<W>where
W: Freeze,
impl<W> RefUnwindSafe for BufferedLeb128Writer<W>where
W: RefUnwindSafe,
impl<W> Send for BufferedLeb128Writer<W>where
W: Send,
impl<W> Sync for BufferedLeb128Writer<W>where
W: Sync,
impl<W> Unpin for BufferedLeb128Writer<W>where
W: Unpin,
impl<W> UnsafeUnpin for BufferedLeb128Writer<W>where
W: UnsafeUnpin,
impl<W> UnwindSafe for BufferedLeb128Writer<W>where
W: UnwindSafe,
Blanket Implementations§
Source§impl<W> BinaryWriteExt for W
impl<W> BinaryWriteExt for W
Source§fn write_u16(&mut self, value: u16, byte_order: ByteOrder) -> Result<()>
fn write_u16(&mut self, value: u16, byte_order: ByteOrder) -> Result<()>
Source§fn write_u16_be(&mut self, value: u16) -> Result<()>
fn write_u16_be(&mut self, value: u16) -> Result<()>
Source§fn write_u16_le(&mut self, value: u16) -> Result<()>
fn write_u16_le(&mut self, value: u16) -> Result<()>
Source§fn write_u32(&mut self, value: u32, byte_order: ByteOrder) -> Result<()>
fn write_u32(&mut self, value: u32, byte_order: ByteOrder) -> Result<()>
Source§fn write_u32_be(&mut self, value: u32) -> Result<()>
fn write_u32_be(&mut self, value: u32) -> Result<()>
Source§fn write_u32_le(&mut self, value: u32) -> Result<()>
fn write_u32_le(&mut self, value: u32) -> Result<()>
Source§fn write_u64(&mut self, value: u64, byte_order: ByteOrder) -> Result<()>
fn write_u64(&mut self, value: u64, byte_order: ByteOrder) -> Result<()>
Source§fn write_u64_be(&mut self, value: u64) -> Result<()>
fn write_u64_be(&mut self, value: u64) -> Result<()>
Source§fn write_u64_le(&mut self, value: u64) -> Result<()>
fn write_u64_le(&mut self, value: u64) -> Result<()>
Source§fn write_u128(&mut self, value: u128, byte_order: ByteOrder) -> Result<()>
fn write_u128(&mut self, value: u128, byte_order: ByteOrder) -> Result<()>
Source§fn write_u128_be(&mut self, value: u128) -> Result<()>
fn write_u128_be(&mut self, value: u128) -> Result<()>
Source§fn write_u128_le(&mut self, value: u128) -> Result<()>
fn write_u128_le(&mut self, value: u128) -> Result<()>
Source§fn write_i16(&mut self, value: i16, byte_order: ByteOrder) -> Result<()>
fn write_i16(&mut self, value: i16, byte_order: ByteOrder) -> Result<()>
Source§fn write_i16_be(&mut self, value: i16) -> Result<()>
fn write_i16_be(&mut self, value: i16) -> Result<()>
Source§fn write_i16_le(&mut self, value: i16) -> Result<()>
fn write_i16_le(&mut self, value: i16) -> Result<()>
Source§fn write_i32(&mut self, value: i32, byte_order: ByteOrder) -> Result<()>
fn write_i32(&mut self, value: i32, byte_order: ByteOrder) -> Result<()>
Source§fn write_i32_be(&mut self, value: i32) -> Result<()>
fn write_i32_be(&mut self, value: i32) -> Result<()>
Source§fn write_i32_le(&mut self, value: i32) -> Result<()>
fn write_i32_le(&mut self, value: i32) -> Result<()>
Source§fn write_i64(&mut self, value: i64, byte_order: ByteOrder) -> Result<()>
fn write_i64(&mut self, value: i64, byte_order: ByteOrder) -> Result<()>
Source§fn write_i64_be(&mut self, value: i64) -> Result<()>
fn write_i64_be(&mut self, value: i64) -> Result<()>
Source§fn write_i64_le(&mut self, value: i64) -> Result<()>
fn write_i64_le(&mut self, value: i64) -> Result<()>
Source§fn write_i128(&mut self, value: i128, byte_order: ByteOrder) -> Result<()>
fn write_i128(&mut self, value: i128, byte_order: ByteOrder) -> Result<()>
Source§fn write_i128_be(&mut self, value: i128) -> Result<()>
fn write_i128_be(&mut self, value: i128) -> Result<()>
Source§fn write_i128_le(&mut self, value: i128) -> Result<()>
fn write_i128_le(&mut self, value: i128) -> Result<()>
Source§fn write_f32(&mut self, value: f32, byte_order: ByteOrder) -> Result<()>
fn write_f32(&mut self, value: f32, byte_order: ByteOrder) -> Result<()>
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<W> Leb128WriteExt for W
impl<W> Leb128WriteExt for W
Source§impl<T> StringWriteExt for T
impl<T> StringWriteExt for T
Source§fn write_utf8_payload(&mut self, value: &str) -> Result<(), Error>
fn write_utf8_payload(&mut self, value: &str) -> Result<(), Error>
Source§fn write_utf8_string_uleb(&mut self, value: &str) -> Result<(), Error>
fn write_utf8_string_uleb(&mut self, value: &str) -> Result<(), Error>
Source§fn write_utf8_string_u16(
&mut self,
value: &str,
byte_order: ByteOrder,
) -> Result<(), Error>
fn write_utf8_string_u16( &mut self, value: &str, byte_order: ByteOrder, ) -> Result<(), Error>
u16 byte-length prefix. Read moreSource§fn write_utf8_string_u16_be(&mut self, value: &str) -> Result<(), Error>
fn write_utf8_string_u16_be(&mut self, value: &str) -> Result<(), Error>
u16 byte-length prefix. Read moreSource§fn write_utf8_string_u16_le(&mut self, value: &str) -> Result<(), Error>
fn write_utf8_string_u16_le(&mut self, value: &str) -> Result<(), Error>
u16 byte-length prefix. Read moreSource§fn write_utf8_string_u32(
&mut self,
value: &str,
byte_order: ByteOrder,
) -> Result<(), Error>
fn write_utf8_string_u32( &mut self, value: &str, byte_order: ByteOrder, ) -> Result<(), Error>
u32 byte-length prefix. Read more