Skip to main content

Buffer

Struct Buffer 

Source
pub struct Buffer<const N: usize> { /* private fields */ }
Expand description

Static buffer to hold written text.

Implementation of ToStr must write it from the end.

§Buffer size limit

Buffer size cannot be greater than 255.

Following code will fail at compile time:

§Invalid buffer creation

to_str::Buffer::<256>::new();;

§Formatting with buffer overflow

to_str::Buffer::<1>::new().format_u8(255);

Implementations§

Source§

impl<const N: usize> Buffer<N>

Source

pub const fn new() -> Self

Creates new instance

Source

pub const fn as_ptr(&self) -> *const u8

Returns pointer to the beginning of underlying buffer

Source

pub const fn capacity() -> usize

Returns buffer overall capacity.

Source

pub const fn as_str(&self) -> &str

Access str from underlying storage

Returns empty if nothing has been written into buffer yet.

Source

pub fn write<T: ToStr>(&mut self, val: T) -> &str

Formats value into buffer, returning text.

Buffer remembers the write, therefore as_str() will return the same text as last write

Source

pub fn format<T: ToStr>(&mut self, val: T) -> &str

Formats value into buffer, returning text.

Buffer remains unaware of modifications

Source

pub fn fmt<T: ToStr>(val: T) -> Self

Creates new instance with formatted value.

Source§

impl<const N: usize> Buffer<N>

Source

pub const fn format_u8(&mut self, val: u8) -> &str

Specialized const format of u8 value into buffer, returning text.

Source

pub const fn fmt_u8(val: u8) -> Self

Creates new instance with formatted value.

Source

pub const fn format_u16(&mut self, val: u16) -> &str

Specialized const format of u16 value into buffer, returning text.

Source

pub const fn fmt_u16(val: u16) -> Self

Creates new instance with formatted value.

Source

pub const fn format_u32(&mut self, val: u32) -> &str

Specialized const format of u32 value into buffer, returning text.

Source

pub const fn fmt_u32(val: u32) -> Self

Creates new instance with formatted value.

Source

pub const fn format_u64(&mut self, val: u64) -> &str

Specialized const format of u64 value into buffer, returning text.

Source

pub const fn fmt_u64(val: u64) -> Self

Creates new instance with formatted value.

Source

pub const fn format_usize(&mut self, val: usize) -> &str

Specialized const format of usize value into buffer, returning text.

Source

pub const fn fmt_usize(val: usize) -> Self

Creates new instance with formatted value.

Source

pub const fn format_u128(&mut self, val: u128) -> &str

Specialized const format of u128 value into buffer, returning text.

Source

pub const fn fmt_u128(val: u128) -> Self

Creates new instance with formatted value.

Source§

impl<const N: usize> Buffer<N>

Source

pub const fn format_i8(&mut self, val: i8) -> &str

Specialized const format of i8 value into buffer, returning text.

Source

pub const fn fmt_i8(val: i8) -> Self

Creates new instance with formatted value.

Source

pub const fn format_i16(&mut self, val: i16) -> &str

Specialized const format of i16 value into buffer, returning text.

Source

pub const fn fmt_i16(val: i16) -> Self

Creates new instance with formatted value.

Source

pub const fn format_i32(&mut self, val: i32) -> &str

Specialized const format of i32 value into buffer, returning text.

Source

pub const fn fmt_i32(val: i32) -> Self

Creates new instance with formatted value.

Source

pub const fn format_i64(&mut self, val: i64) -> &str

Specialized const format of i64 value into buffer, returning text.

Source

pub const fn fmt_i64(val: i64) -> Self

Creates new instance with formatted value.

Source

pub const fn format_isize(&mut self, val: isize) -> &str

Specialized const format of isize value into buffer, returning text.

Source

pub const fn fmt_isize(val: isize) -> Self

Creates new instance with formatted value.

Source

pub const fn format_i128(&mut self, val: i128) -> &str

Specialized const format of i128 value into buffer, returning text.

Source

pub const fn fmt_i128(val: i128) -> Self

Creates new instance with formatted value.

Trait Implementations§

Source§

impl<const N: usize> AsRef<str> for Buffer<N>

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<const N: usize> Debug for Buffer<N>

Source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<const N: usize> Display for Buffer<N>

Source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<const N: usize> Freeze for Buffer<N>

§

impl<const N: usize> RefUnwindSafe for Buffer<N>

§

impl<const N: usize> Send for Buffer<N>

§

impl<const N: usize> Sync for Buffer<N>

§

impl<const N: usize> Unpin for Buffer<N>

§

impl<const N: usize> UnsafeUnpin for Buffer<N>

§

impl<const N: usize> UnwindSafe for Buffer<N>

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.