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 writeabletostring function. If desired, types implementing Writeable can manually implement ToString to wrap writeabletostring.
```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
.