Trait GenericDataSink

Source
pub trait GenericDataSink: DataSink {
    // Provided methods
    fn write_int<T: Pod + PrimInt>(&mut self, value: T) -> Result { ... }
    fn write_int_le<T: Pod + PrimInt>(&mut self, value: T) -> Result { ... }
    fn write_data<T: Pod>(&mut self, value: T) -> Result { ... }
}
Expand description

Writes generic data to a sink.

Provided Methods§

Source

fn write_int<T: Pod + PrimInt>(&mut self, value: T) -> Result

Writes a big-endian integer.

§Errors

May return Overflow if the sink would exceed some hard storage limit. In the case, the stream is filled completely, excluding the overflowing bytes.

§Example
use data_streams::GenericDataSink;

let mut buf = Vec::new();
buf.write_int(0x12345678)?;
assert_eq!(buf, [0x12, 0x34, 0x56, 0x78]);
Source

fn write_int_le<T: Pod + PrimInt>(&mut self, value: T) -> Result

Writes a little-endian integer.

§Errors

May return Overflow if the sink would exceed some hard storage limit. In the case, the stream is filled completely, excluding the overflowing bytes.

§Example
use data_streams::GenericDataSink;

let mut buf = Vec::new();
buf.write_int_le(0x12345678)?;
assert_eq!(buf, [0x78, 0x56, 0x34, 0x12]);
Source

fn write_data<T: Pod>(&mut self, value: T) -> Result

Writes a value of an arbitrary bit pattern. See Pod.

§Errors

May return Overflow if the sink would exceed some hard storage limit. In the case, the stream is filled completely, excluding the overflowing bytes.

§Example
use data_streams::GenericDataSink;

let mut buf = Vec::new();
buf.write_data(0x12345678)?;
assert_eq!(buf, [0x78, 0x56, 0x34, 0x12]);

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§