Skip to main content

compress_lz77_rs/
lib.rs

1//! # compress-lz77-rs
2//!
3//! A pure-Rust LZ77 sliding window compression library.
4//!
5//! # Modules
6//!
7//! - [`window`] — Sliding window buffer for back-reference management.
8//! - [`match_`] — Match finding with configurable search parameters.
9//! - [`token`] — Length-distance token representation.
10//! - [`encode`] — LZ77 encoding with optional lazy matching.
11//! - [`decode`] — LZ77 decoding from token streams.
12//!
13//! # Quick Start
14//!
15//! ```
16//! use compress_lz77_rs::{encode, decode};
17//!
18//! let data = b"abracadabra abracadabra";
19//! let tokens = encode::encode(data, 4096, 3, 258);
20//! let decoded = decode::decode(&tokens);
21//! assert_eq!(data.as_slice(), decoded.as_slice());
22//! ```
23
24pub mod window;
25pub mod match_;
26pub mod token;
27pub mod encode;
28pub mod decode;
29
30pub use token::Token;
31
32#[cfg(test)]
33mod tests;