Struct Utf16Writer

Source
pub struct Utf16Writer<'a> { /* private fields */ }
Expand description

A helper type for writing string data into [u16] buffers.

This type is mainly useful for interop with libctru APIs that expect UTF-16 text as input. The writer implements the std::fmt::Write trait and ensures that the text is written in-bounds and properly nul-terminated.

§Notes

Subsequent writes to the same Utf16Writer will append to the buffer instead of overwriting the existing contents. If you want to start over from the beginning of the buffer, simply create a new Utf16Writer.

If a write causes the buffer to reach the end of its capacity, std::fmt::Error will be returned, but all string data up until the end of the capacity will still be written.

Implementations§

Source§

impl Utf16Writer<'_>

Source

pub fn new(buf: &mut [u16]) -> Utf16Writer<'_>

Creates a new Utf16Writer that writes its output into the provided buffer.

Trait Implementations§

Source§

impl Write for Utf16Writer<'_>

Source§

fn write_str(&mut self, s: &str) -> Result

Writes a string slice into this writer, returning whether the write succeeded. Read more
1.1.0§

fn write_char(&mut self, c: char) -> Result<(), Error>

Writes a [char] into this writer, returning whether the write succeeded. Read more
1.0.0§

fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

Glue for usage of the [write!] macro with implementors of this trait. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Utf16Writer<'a>

§

impl<'a> RefUnwindSafe for Utf16Writer<'a>

§

impl<'a> Send for Utf16Writer<'a>

§

impl<'a> Sync for Utf16Writer<'a>

§

impl<'a> Unpin for Utf16Writer<'a>

§

impl<'a> !UnwindSafe for Utf16Writer<'a>

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.