Skip to main content

StringWriteExt

Trait StringWriteExt 

Source
pub trait StringWriteExt: Write {
    // Required methods
    fn write_utf8_payload(&mut self, value: &str) -> Result<()>;
    fn write_utf8_string_uleb(&mut self, value: &str) -> Result<()>;
    fn write_utf8_string_u16(
        &mut self,
        value: &str,
        byte_order: ByteOrder,
    ) -> Result<()>;
    fn write_utf8_string_u16_be(&mut self, value: &str) -> Result<()>;
    fn write_utf8_string_u16_le(&mut self, value: &str) -> Result<()>;
    fn write_utf8_string_u32(
        &mut self,
        value: &str,
        byte_order: ByteOrder,
    ) -> Result<()>;
    fn write_utf8_string_u32_be(&mut self, value: &str) -> Result<()>;
    fn write_utf8_string_u32_le(&mut self, value: &str) -> Result<()>;
}
Expand description

Extension methods for writing length-prefixed UTF-8 strings.

Required Methods§

Source

fn write_utf8_payload(&mut self, value: &str) -> Result<()>

Writes a UTF-8 payload without a length prefix.

§Parameters
  • value: String slice to write.
§Errors

Returns an I/O error from the underlying writer.

Source

fn write_utf8_string_uleb(&mut self, value: &str) -> Result<()>

Writes a UTF-8 string with an unsigned LEB128 byte-length prefix.

The length prefix is encoded as usize, so this format is target-width dependent. Prefer u16 or u32 length-prefix methods for persistent files and cross-platform protocols.

§Parameters
  • value: String slice to write.
§Errors

Returns an I/O error from the underlying writer.

Source

fn write_utf8_string_u16( &mut self, value: &str, byte_order: ByteOrder, ) -> Result<()>

Writes a UTF-8 string with a runtime-order u16 byte-length prefix.

§Parameters
  • value: String slice to write.
  • byte_order: Byte order used by the length prefix.
§Errors

Returns std::io::ErrorKind::InvalidInput when the UTF-8 byte length does not fit into u16, or an I/O error from the underlying writer.

Source

fn write_utf8_string_u16_be(&mut self, value: &str) -> Result<()>

Writes a UTF-8 string with a big-endian u16 byte-length prefix.

§Parameters
  • value: String slice to write.
§Errors

Returns std::io::ErrorKind::InvalidInput when the UTF-8 byte length does not fit into u16, or an I/O error from the underlying writer.

Source

fn write_utf8_string_u16_le(&mut self, value: &str) -> Result<()>

Writes a UTF-8 string with a little-endian u16 byte-length prefix.

§Parameters
  • value: String slice to write.
§Errors

Returns std::io::ErrorKind::InvalidInput when the UTF-8 byte length does not fit into u16, or an I/O error from the underlying writer.

Source

fn write_utf8_string_u32( &mut self, value: &str, byte_order: ByteOrder, ) -> Result<()>

Writes a UTF-8 string with a runtime-order u32 byte-length prefix.

§Parameters
  • value: String slice to write.
  • byte_order: Byte order used by the length prefix.
§Errors

Returns std::io::ErrorKind::InvalidInput when the UTF-8 byte length does not fit into u32, or an I/O error from the underlying writer.

Source

fn write_utf8_string_u32_be(&mut self, value: &str) -> Result<()>

Writes a UTF-8 string with a big-endian u32 byte-length prefix.

§Parameters
  • value: String slice to write.
§Errors

Returns std::io::ErrorKind::InvalidInput when the UTF-8 byte length does not fit into u32, or an I/O error from the underlying writer.

Source

fn write_utf8_string_u32_le(&mut self, value: &str) -> Result<()>

Writes a UTF-8 string with a little-endian u32 byte-length prefix.

§Parameters
  • value: String slice to write.
§Errors

Returns std::io::ErrorKind::InvalidInput when the UTF-8 byte length does not fit into u32, or an I/O error from the underlying writer.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<T> StringWriteExt for T
where T: Write + ?Sized,