Struct Plain

Source
pub struct Plain<T>(pub T);
Expand description

Used to write values as they are represented in memory.

§Examples

Writing struct into a sink.

use write_into::{Plain, write_into};

struct Rgba {
    r: u8,
    g: u8,
    b: u8,
    a: u8,
}

let color = Rgba { r: 0x18, g: 0x18, b: 0x18, a: 0xFF };
let mut buffer = Vec::new();
write_into(&mut buffer, Plain(&color)).unwrap();
assert_eq!(&buffer, &[0x18, 0x18, 0x18, 0xFF]);

Writing array into a sink.

use write_into::{Plain, write_into};

let bytes: &[u8; 4] = b"\0asm";
let mut buffer = Vec::new();
write_into(&mut buffer, Plain(bytes)).unwrap();
assert_eq!(&buffer, b"\0asm");

Writing slice into a sink (the crate also provides implementation for Plain<&str>).

use write_into::{Plain, write_into};

let bytes: &[u8] = b"([Ljava/lang/String;)V";
let mut buffer = Vec::new();
write_into(&mut buffer, Plain(bytes)).unwrap();
assert_eq!(&buffer, b"([Ljava/lang/String;)V");

Tuple Fields§

§0: T

Trait Implementations§

Source§

impl<T> WriteInto for &Plain<&[T]>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl<T> WriteInto for &Plain<&T>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<&str>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<bool>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<char>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<f32>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<f64>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<i128>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<i16>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<i32>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<i64>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<i8>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<isize>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<u128>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<u16>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<u32>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<u64>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<u8>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for &Plain<usize>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl<T> WriteInto for Plain<&[T]>

Transmutes arbitrary slice into a byte slice.

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl<T> WriteInto for Plain<&T>

Transmutes arbitrary value into a byte slice.

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<&str>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<bool>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<char>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<f32>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<f64>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<i128>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<i16>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<i32>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<i64>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<i8>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<isize>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<u128>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<u16>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<u32>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<u64>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<u8>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.
Source§

impl WriteInto for Plain<usize>

Source§

type Output = ()

Result of WriteInto::write_into function (e.g. () or usize).
Source§

fn write_into(self, sink: &mut impl Write) -> Result<Self::Output>

Writes value into I/O sink.

Auto Trait Implementations§

§

impl<T> Freeze for Plain<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Plain<T>
where T: RefUnwindSafe,

§

impl<T> Send for Plain<T>
where T: Send,

§

impl<T> Sync for Plain<T>
where T: Sync,

§

impl<T> Unpin for Plain<T>
where T: Unpin,

§

impl<T> UnwindSafe for Plain<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.