writeable
is a utility crate of the [ICU4X
] project.
It includes [Writeable
], a core trait representing an object that can be written to a
sink implementing std::fmt::Write
. It is an alternative to std::fmt::Display
with the
addition of a function indicating the number of bytes to be written.
Writeable
improves upon std::fmt::Display
in two ways:
Types implementing Writeable have a defaulted write_to_string
function. If desired, types implementing Writeable
can manually implement ToString
to wrap write_to_string
.
```rust use writeable::Writeable; use writeable::LengthHint; use writeable::assertwriteableeq; use std::fmt;
struct WelcomeMessage<'s>{ pub name: &'s str, }
impl<'s> Writeable for WelcomeMessage<'s> {
fn writeto
fn write_len(&self) -> LengthHint {
// "Hello, " + '!' + length of name
LengthHint::exact(8 + self.name.len())
}
}
let message = WelcomeMessage { name: "Alice" }; assertwriteableeq!(&message, "Hello, Alice!"); ```
For more information on development, authorship, contributing etc. please visit ICU4X home page
.