log_buffer 1.0.0

An implementation of a zero-allocation ring buffer for storing text logs
Documentation
log_buffer
==========

_log_buffer_ is a Rust crate implementing a zero-allocation ring buffer
for storing text logs. It does not depend on `std`, but can be used
with `std::vec::Vec` if desired.

See the [documentation][doc] for details.

[doc]: https://whitequark.github.io/rust-log_buffer/log_buffer/

Installation
------------

To use the _log_buffer_ library in your project, add the following to `Cargo.toml`:

```toml
[dependencies]
log_buffer = "1.0"
```

Usage example
-------------

```rust
use core::fmt::Write;

let mut dmesg = log_buffer::LogBuffer::new([0; 16]);
write!(dmesg, "\nfirst\n").unwrap();
write!(dmesg, "second\n").unwrap();
write!(dmesg, "third\n").unwrap();

assert_eq!(dmesg.extract(),
           "st\nsecond\nthird\n");
assert_eq!(dmesg.extract_lines().collect::<Vec<_>>(),
           vec!["second", "third"]);
```

See the [documentation][doc] for more examples.

License
-------

_log_buffer_ is distributed under the terms of both the MIT license
and the Apache License (Version 2.0).

See [LICENSE-APACHE](LICENSE-APACHE) and [LICENSE-MIT](LICENSE-MIT)
for details.