pub struct BufferedBinaryWriter<W, O = BigEndian> { /* private fields */ }Expand description
Buffered writer for fixed-width binary values.
Scalar writes encode directly into the internal output buffer and flush that buffer to the wrapped writer only when it becomes full or when explicitly flushed.
§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.
Implementations§
Source§impl<W, O> BufferedBinaryWriter<W, O>where
O: ByteOrderSpec,
impl<W, O> BufferedBinaryWriter<W, O>where
O: ByteOrderSpec,
Sourcepub fn new(inner: W) -> Self
pub fn new(inner: W) -> Self
Creates a buffered binary 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 binary writer with at least capacity bytes.
Sourcepub const fn byte_order(&self) -> ByteOrder
pub const fn byte_order(&self) -> ByteOrder
Returns the byte order selected by this writer.
Source§impl<W, O> BufferedBinaryWriter<W, O>where
W: Write,
O: ByteOrderSpec,
impl<W, O> BufferedBinaryWriter<W, O>where
W: Write,
O: ByteOrderSpec,
Sourcepub fn into_inner(self) -> Result<W>
pub fn into_inner(self) -> Result<W>
Flushes pending bytes and returns the underlying writer.
Source§impl<W> BufferedBinaryWriter<W, BigEndian>where
W: Write,
impl<W> BufferedBinaryWriter<W, BigEndian>where
W: Write,
Sourcepub fn write_u128(&mut self, value: u128) -> Result<()>
pub fn write_u128(&mut self, value: u128) -> Result<()>
Writes an unsigned 128-bit integer.
Sourcepub fn write_i128(&mut self, value: i128) -> Result<()>
pub fn write_i128(&mut self, value: i128) -> Result<()>
Writes a signed 128-bit integer.
Source§impl<W> BufferedBinaryWriter<W, LittleEndian>where
W: Write,
impl<W> BufferedBinaryWriter<W, LittleEndian>where
W: Write,
Sourcepub fn write_u128(&mut self, value: u128) -> Result<()>
pub fn write_u128(&mut self, value: u128) -> Result<()>
Writes an unsigned 128-bit integer.
Sourcepub fn write_i128(&mut self, value: i128) -> Result<()>
pub fn write_i128(&mut self, value: i128) -> Result<()>
Writes a signed 128-bit integer.
Trait Implementations§
Source§impl<W, O> Seek for BufferedBinaryWriter<W, O>
impl<W, O> Seek for BufferedBinaryWriter<W, O>
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, O> Write for BufferedBinaryWriter<W, O>where
W: Write,
impl<W, O> Write for BufferedBinaryWriter<W, O>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, O> Freeze for BufferedBinaryWriter<W, O>where
W: Freeze,
impl<W, O> RefUnwindSafe for BufferedBinaryWriter<W, O>where
W: RefUnwindSafe,
impl<W, O> Send for BufferedBinaryWriter<W, O>where
W: Send,
impl<W, O> Sync for BufferedBinaryWriter<W, O>where
W: Sync,
impl<W, O> Unpin for BufferedBinaryWriter<W, O>where
W: Unpin,
impl<W, O> UnsafeUnpin for BufferedBinaryWriter<W, O>where
W: UnsafeUnpin,
impl<W, O> UnwindSafe for BufferedBinaryWriter<W, O>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