#![cfg_attr(
feature = "compression",
doc = r#"
[compressor-compress]: crate::Compressor::compress
[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-start]: crate::Compressor::start
[`EncoderSession`]: crate::EncoderSession
[compressor-into-session]: crate::Compressor::into_session
[`EncoderSessionOwned`]: crate::EncoderSessionOwned
[`EncoderConfig`]: crate::EncoderConfig
[`CompressionParams`]: crate::CompressionParams
"#
)]
#![cfg_attr(
not(feature = "compression"),
doc = r#"
[compressor-compress]: #select-only-the-codecs-you-need
[compressor-compress-into]: #select-only-the-codecs-you-need
[compressor-compress-to-slice]: #select-only-the-codecs-you-need
[compressor-compress-to-uninit]: #select-only-the-codecs-you-need
[compressor-start]: #select-only-the-codecs-you-need
[`EncoderSession`]: #select-only-the-codecs-you-need
[compressor-into-session]: #select-only-the-codecs-you-need
[`EncoderSessionOwned`]: #select-only-the-codecs-you-need
[`EncoderConfig`]: #select-only-the-codecs-you-need
[`CompressionParams`]: #select-only-the-codecs-you-need
"#
)]
#![cfg_attr(
feature = "decompression",
doc = r#"
[decompressor-decompress]: crate::Decompressor::decompress
[decompressor-decompress-into]: crate::Decompressor::decompress_into
[decompressor-decompress-to-slice]: crate::Decompressor::decompress_to_slice
[decompressor-start]: crate::Decompressor::start
[`DecoderSession`]: crate::DecoderSession
[decompressor-into-session]: crate::Decompressor::into_session
[`DecoderSessionOwned`]: crate::DecoderSessionOwned
[`DecodeLimits`]: crate::DecodeLimits
"#
)]
#![cfg_attr(
not(feature = "decompression"),
doc = r#"
[decompressor-decompress]: #select-only-the-codecs-you-need
[decompressor-decompress-into]: #select-only-the-codecs-you-need
[decompressor-decompress-to-slice]: #select-only-the-codecs-you-need
[decompressor-start]: #select-only-the-codecs-you-need
[`DecoderSession`]: #select-only-the-codecs-you-need
[decompressor-into-session]: #select-only-the-codecs-you-need
[`DecoderSessionOwned`]: #select-only-the-codecs-you-need
[`DecodeLimits`]: #select-only-the-codecs-you-need
"#
)]
#![cfg_attr(
all(feature = "compression", not(feature = "no_std")),
doc = r#"
[compressor-reader]: crate::Compressor::reader
[compressor-writer]: crate::Compressor::writer
[`ParallelCompressor`]: crate::compressor::parallel::ParallelCompressor
[parallel-prepare-slice]: crate::compressor::parallel::ParallelCompressor::prepare_slice
[`ScopedParallelBatch`]: crate::compressor::parallel::ScopedParallelBatch
[parallel-start]: crate::compressor::parallel::ParallelCompressor::start
[`ParallelEncoderSession`]: crate::compressor::parallel::ParallelEncoderSession
[`ParallelTaskQueue`]: crate::compressor::parallel::ParallelTaskQueue
[parallel-into-session]: crate::compressor::parallel::ParallelCompressor::into_session
[`ParallelEncoderSessionOwned`]: crate::compressor::parallel::ParallelEncoderSessionOwned
[parallel-writer]: crate::compressor::parallel::ParallelCompressor::writer
[parallel-reader]: crate::compressor::parallel::ParallelCompressor::reader
"#
)]
#![cfg_attr(
not(all(feature = "compression", not(feature = "no_std"))),
doc = r#"
[compressor-reader]: #select-only-the-codecs-you-need
[compressor-writer]: #select-only-the-codecs-you-need
[`ParallelCompressor`]: #select-only-the-codecs-you-need
[parallel-prepare-slice]: #select-only-the-codecs-you-need
[`ScopedParallelBatch`]: #select-only-the-codecs-you-need
[parallel-start]: #select-only-the-codecs-you-need
[`ParallelEncoderSession`]: #select-only-the-codecs-you-need
[`ParallelTaskQueue`]: #select-only-the-codecs-you-need
[parallel-into-session]: #select-only-the-codecs-you-need
[`ParallelEncoderSessionOwned`]: #select-only-the-codecs-you-need
[parallel-writer]: #select-only-the-codecs-you-need
[parallel-reader]: #select-only-the-codecs-you-need
"#
)]
#![cfg_attr(
all(feature = "decompression", not(feature = "no_std")),
doc = r#"
[decompressor-reader]: crate::Decompressor::reader
[decompressor-writer]: crate::Decompressor::writer
"#
)]
#![cfg_attr(
not(all(feature = "decompression", not(feature = "no_std"))),
doc = r#"
[decompressor-reader]: #select-only-the-codecs-you-need
[decompressor-writer]: #select-only-the-codecs-you-need
"#
)]
#![cfg_attr(feature = "no_std", no_std)]
#![cfg_attr(not(test), forbid(unsafe_code))]
#![deny(missing_docs)]
#![deny(missing_debug_implementations)]
#![deny(rustdoc::broken_intra_doc_links)]
#[cfg(any(feature = "compression", feature = "decompression"))]
extern crate alloc;
#[cfg(any(feature = "compression", feature = "decompression"))]
mod backend;
#[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 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::{
CompressionParams, Compressor, CompressorBuilder, ConfigError, EncodeError, EncoderConfig,
EncoderSession, EncoderSessionOwned, EncoderStatus, InputSize, LdmParams, Level,
LongDistanceMatching, Operation, Parameter, Progress, SizeOverflow, Strategy, StreamConfig,
};
#[cfg(feature = "decompression")]
pub mod decompressor;
#[cfg(feature = "decompression")]
pub use decompressor::{
DecodeConfigError, DecodeError, DecodeFailure, DecodeLimits, DecodeOperation, DecodeProgress,
DecoderConfig, DecoderSession, DecoderSessionOwned, DecoderStatus, Decompressor,
DecompressorBuilder, FrameMode, InvalidDataKind,
};