1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! A Rust implementation of DEFLATE algorithm and related formats (ZLIB, GZIP).

#![forbid(unsafe_code)]
#![warn(missing_docs)]
#![cfg_attr(not(feature = "std"), no_std)]

pub use finish::Finish;
extern crate alloc;

macro_rules! invalid_data_error {
    ($fmt:expr) => {
        invalid_data_error!($fmt, "")
    };
    ($fmt:expr, $($arg:tt)*) => {
        ::core2::io::Error::new(::core2::io::ErrorKind::InvalidData, $fmt)
    };
}

macro_rules! finish_try {
    ($e:expr) => {
        match $e.unwrap() {
            (inner, None) => inner,
            (inner, error) => return crate::finish::Finish::new(inner, error),
        }
    };
}

pub mod deflate;
pub mod finish;
pub mod gzip;
pub mod lz77;
pub mod non_blocking;
pub mod zlib;

mod bit;
mod checksum;
mod huffman;
mod util;