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:
```rust use std::fmt; use writeable::assertwriteableeq; use writeable::LengthHint; use writeable::Writeable;
struct WelcomeMessage<'s> { pub name: &'s str, }
impl<'s> Writeable for WelcomeMessage<'s> {
fn writeto
fn writeable_length_hint(&self) -> LengthHint {
// "Hello, " + '!' + length of name
LengthHint::exact(8 + self.name.len())
}
}
let message = WelcomeMessage { name: "Alice" }; assertwriteableeq!(&message, "Hello, Alice!");
// Types implementing Writeable
are recommended to also implement fmt::Display
.
// This can be simply done by redirecting to the Writeable
implementation:
writeable::impldisplaywithwriteable!(WelcomeMessage<'>);
```
For more information on development, authorship, contributing etc. please visit ICU4X home page
.