#![cfg_attr(
feature = "compression",
doc = r#"
[`Chunking::Fixed`]: crate::Chunking::Fixed
[`Chunking::Whole`]: crate::Chunking::Whole
[`Compressor::compress_into`]: crate::Compressor::compress_into
[`Compressor::compress_to_slice`]: crate::Compressor::compress_to_slice
[`Compressor::compress_to_uninit`]: crate::Compressor::compress_to_uninit
[`Compressor::compress`]: crate::Compressor::compress
[`Compressor::into_session`]: crate::Compressor::into_session
[`Compressor::start`]: crate::Compressor::start
[`Compressor`]: crate::Compressor
[`EncoderSession::process_uninit`]: crate::EncoderSession::process_uninit
[`EncoderSessionOwned`]: crate::EncoderSessionOwned
[`EncoderSession`]: crate::EncoderSession
[`InputSize::Exact`]: crate::InputSize::Exact
[`InputSize::Unknown`]: crate::InputSize::Unknown
"#
)]
#![cfg_attr(
not(feature = "compression"),
doc = r#"
[`Chunking::Fixed`]: #select-codecs
[`Chunking::Whole`]: #select-codecs
[`Compressor::compress_into`]: #select-codecs
[`Compressor::compress_to_slice`]: #select-codecs
[`Compressor::compress_to_uninit`]: #select-codecs
[`Compressor::compress`]: #select-codecs
[`Compressor::into_session`]: #select-codecs
[`Compressor::start`]: #select-codecs
[`Compressor`]: #select-codecs
[`EncoderSession::process_uninit`]: #select-codecs
[`EncoderSessionOwned`]: #select-codecs
[`EncoderSession`]: #select-codecs
[`InputSize::Exact`]: #select-codecs
[`InputSize::Unknown`]: #select-codecs
"#
)]
#![cfg_attr(
feature = "decompression",
doc = r#"
[`DecodeLimits`]: crate::DecodeLimits
[`DecoderSession::process_uninit`]: crate::DecoderSession::process_uninit
[`DecoderSessionOwned`]: crate::DecoderSessionOwned
[`DecoderSession`]: crate::DecoderSession
[`Decompressor::decompress_into`]: crate::Decompressor::decompress_into
[`Decompressor::decompress_to_slice`]: crate::Decompressor::decompress_to_slice
[`Decompressor::decompress_to_uninit`]: crate::Decompressor::decompress_to_uninit
[`Decompressor::decompress`]: crate::Decompressor::decompress
[`Decompressor::into_session`]: crate::Decompressor::into_session
[`Decompressor::start`]: crate::Decompressor::start
[`Decompressor`]: crate::Decompressor
"#
)]
#![cfg_attr(
not(feature = "decompression"),
doc = r#"
[`DecodeLimits`]: #select-codecs
[`DecoderSession::process_uninit`]: #select-codecs
[`DecoderSessionOwned`]: #select-codecs
[`DecoderSession`]: #select-codecs
[`Decompressor::decompress_into`]: #select-codecs
[`Decompressor::decompress_to_slice`]: #select-codecs
[`Decompressor::decompress_to_uninit`]: #select-codecs
[`Decompressor::decompress`]: #select-codecs
[`Decompressor::into_session`]: #select-codecs
[`Decompressor::start`]: #select-codecs
[`Decompressor`]: #select-codecs
"#
)]
#![cfg_attr(
not(feature = "decompression"),
doc = "[`Unsupported`]: #select-codecs"
)]
#![cfg_attr(
not(any(feature = "compression", feature = "decompression")),
doc = "[`Backend`]: #select-codecs\n\n[`fearless_simd`]: https://docs.rs/fearless_simd"
)]
#![cfg_attr(not(test), forbid(unsafe_code))]
#![cfg_attr(feature = "no_std", no_std)]
#![deny(missing_docs)]
#![deny(missing_debug_implementations)]
#![deny(rustdoc::broken_intra_doc_links)]
#[cfg(any(feature = "compression", feature = "decompression"))]
extern crate alloc;
#[cfg(test)]
extern crate std;
#[cfg(any(feature = "compression", feature = "decompression"))]
mod backend;
#[cfg(any(feature = "compression", feature = "decompression"))]
mod format;
#[cfg(any(feature = "compression", feature = "decompression"))]
mod retention;
#[cfg(any(feature = "compression", feature = "decompression"))]
mod shared;
#[cfg(any(feature = "compression", feature = "decompression"))]
pub use backend::Backend;
#[cfg(any(feature = "compression", feature = "decompression"))]
pub use format::{FormatVersion, UnsupportedFormatVersion};
#[cfg(any(feature = "compression", feature = "decompression"))]
pub use retention::RetentionPolicy;
#[cfg(all(
any(feature = "compression", feature = "decompression"),
not(feature = "no_std")
))]
mod finish_error;
#[cfg(all(
any(feature = "compression", feature = "decompression"),
not(feature = "no_std")
))]
pub mod io;
#[cfg(feature = "compression")]
pub mod compressor;
#[cfg(feature = "compression")]
pub use compressor::{
ChunkSize, Chunking, Compressor, CompressorBuilder, ConfigError, EncodeError, EncoderConfig,
EncoderSession, EncoderSessionOwned, EncoderStatus, InputSize, Level, Operation, Parameter,
Progress, SizeOverflow, StreamConfig,
};
#[cfg(feature = "decompression")]
pub mod decompressor;
#[cfg(feature = "decompression")]
pub use decompressor::{
DecodeError, DecodeFailure, DecodeLimits, DecodeOperation, DecodeProgress, DecoderConfig,
DecoderSession, DecoderSessionOwned, DecoderStatus, Decompressor, DecompressorBuilder,
FrameMode, InvalidDataKind, Unsupported,
};