This crate provides fast functions for printing integer primitives to an
io::Write
. The
implementation comes straight from
libcore
but avoids the performance penalty of going through
fmt::Formatter
.
See also dtoa
for printing floating point
primitives.
extern crate itoa; // write to a vector or other io::Write let mut buf = Vec::new(); itoa::write(&mut buf, 128u64)?; println!("{:?}", buf); // write to a stack buffer let mut bytes = [b'\0'; 20]; let n = itoa::write(&mut bytes[..], 128u64)?; println!("{:?}", &bytes[..n]);
The function signature is:
fn write<W: io::Write, V: itoa::Integer>(writer: W, value: V) -> io::Result<usize>
where itoa::Integer
is implemented for i8
, u8
, i16
, u16
, i32
, u32
,
i64
, u64
, isize
and usize
. The return value gives the number of bytes
written.
Itoa is available on crates.io. Use the
following in Cargo.toml
:
[dependencies] itoa = "0.3"
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in itoa by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.