pub struct Buffer {
bytes: [MaybeUninit<u8>; 24],
}
Expand description
Safe API for formatting floating point numbers to text.
§Example
let mut buffer = ryu::Buffer::new();
let printed = buffer.format_finite(1.234);
assert_eq!(printed, "1.234");
Fields§
§bytes: [MaybeUninit<u8>; 24]
Implementations§
source§impl Buffer
impl Buffer
sourcepub fn new() -> Self
pub fn new() -> Self
This is a cheap operation; you don’t need to worry about reusing buffers for efficiency.
sourcepub fn format<F: Float>(&mut self, f: F) -> &str
pub fn format<F: Float>(&mut self, f: F) -> &str
Print a floating point number into this buffer and return a reference to its string representation within the buffer.
§Special cases
This function formats NaN as the string “NaN”, positive infinity as “inf”, and negative infinity as “-inf” to match std::fmt.
If your input is known to be finite, you may get better performance by
calling the format_finite
method instead of format
to avoid the
checks for special cases.
sourcepub fn format_finite<F: Float>(&mut self, f: F) -> &str
pub fn format_finite<F: Float>(&mut self, f: F) -> &str
Print a floating point number into this buffer and return a reference to its string representation within the buffer.
§Special cases
This function does not check for NaN or infinity. If the input number is not a finite float, the printed representation will be some correctly formatted but unspecified numerical value.
Please check is_finite
yourself before calling this function, or
check is_nan
and is_infinite
and handle those cases yourself.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Buffer
impl RefUnwindSafe for Buffer
impl Send for Buffer
impl Sync for Buffer
impl Unpin for Buffer
impl UnwindSafe for Buffer
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)