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§
Sourcefn write_utf8_payload(&mut self, value: &str) -> Result<()>
fn write_utf8_payload(&mut self, value: &str) -> Result<()>
Sourcefn write_utf8_string_uleb(&mut self, value: &str) -> Result<()>
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.
Sourcefn write_utf8_string_u16(
&mut self,
value: &str,
byte_order: ByteOrder,
) -> Result<()>
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.
Sourcefn write_utf8_string_u16_be(&mut self, value: &str) -> Result<()>
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.
Sourcefn write_utf8_string_u16_le(&mut self, value: &str) -> Result<()>
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.
Sourcefn write_utf8_string_u32(
&mut self,
value: &str,
byte_order: ByteOrder,
) -> Result<()>
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.
Sourcefn write_utf8_string_u32_be(&mut self, value: &str) -> Result<()>
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.
Sourcefn write_utf8_string_u32_le(&mut self, value: &str) -> Result<()>
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".