#![cfg_attr(
all(feature = "compression", not(feature = "no_std")),
doc = r#"
[`ParallelCompressor::builder`]: crate::compressor::parallel::ParallelCompressor::builder
[`ParallelCompressor`]: crate::compressor::parallel::ParallelCompressor
[parallel-prepare-slice]: crate::compressor::parallel::ParallelCompressor::prepare_slice
[parallel-prepare-source]: crate::compressor::parallel::ParallelCompressor::prepare_source
[`ScopedParallelBatch`]: crate::compressor::parallel::ScopedParallelBatch
[parallel-start]: crate::compressor::parallel::ParallelCompressor::start
[`ParallelEncoderSession`]: crate::compressor::parallel::ParallelEncoderSession
[`ParallelEncoderSession::process_uninit`]: crate::compressor::parallel::ParallelEncoderSession::process_uninit
[`ParallelTaskQueue`]: crate::compressor::parallel::ParallelTaskQueue
[parallel-into-session]: crate::compressor::parallel::ParallelCompressor::into_session
[`ParallelEncoderSessionOwned`]: crate::compressor::parallel::ParallelEncoderSessionOwned
[parallel-reader]: crate::compressor::parallel::ParallelCompressor::reader
[`ParallelEncoderReader`]: crate::compressor::parallel::ParallelEncoderReader
[parallel-writer]: crate::compressor::parallel::ParallelCompressor::writer
[`ParallelEncoderWriter`]: crate::compressor::parallel::ParallelEncoderWriter
"#
)]
#![cfg_attr(
not(all(feature = "compression", not(feature = "no_std"))),
doc = r#"
[`ParallelCompressor::builder`]: #select-codecs
[`ParallelCompressor`]: #select-codecs
[parallel-prepare-slice]: #select-codecs
[parallel-prepare-source]: #select-codecs
[`ScopedParallelBatch`]: #select-codecs
[parallel-start]: #select-codecs
[`ParallelEncoderSession`]: #select-codecs
[`ParallelEncoderSession::process_uninit`]: #select-codecs
[`ParallelTaskQueue`]: #select-codecs
[parallel-into-session]: #select-codecs
[`ParallelEncoderSessionOwned`]: #select-codecs
[parallel-reader]: #select-codecs
[`ParallelEncoderReader`]: #select-codecs
[parallel-writer]: #select-codecs
[`ParallelEncoderWriter`]: #select-codecs
"#
)]
#![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::builder`]: crate::Compressor::builder
[`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::builder`]: #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 data_type;
#[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 data_type::DataType;
#[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(all(
feature = "custom-codec",
any(feature = "compression", feature = "decompression")
))]
pub mod custom_codec;
#[cfg(any(feature = "compression", feature = "decompression"))]
pub mod dict;
#[cfg(feature = "compression")]
pub mod graph;
#[cfg(feature = "compression")]
pub mod input;
#[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,
FrameInfo, FrameMode, InvalidDataKind, TypedOutput, Unsupported,
};