TechnologiesFoundation, System & Concurrency

Compression

iOSmacOStvOSwatchOSvisionOS

Compression provides algorithms for compressing and decompressing data, including LZFSE, LZ4, ZLIB, and LZMA, selectable through the Algorithm enumeration. It wraps the lower-level C compression API, exposing types such as compression_stream and compression_stream_operation for streaming work, alongside compression_status for tracking results. For Swift code, the InputFilter and OutputFilter classes let you process data through a FilterOperation, surfacing failures as a FilterError. These services are available on iOS, macOS, tvOS, watchOS, and visionOS.

Swift Compression Filters 4

Stream data through a compression or decompression filter using high-level Swift classes.

  • Cl
    InputFilteriOS 13+
    A class that reads and decompresses, or compresses, data as it is pulled from a source.
  • Cl
    OutputFilteriOS 13+
    A class that compresses, or decompresses, data and writes the result to a destination.
  • En
    FilterOperationiOS 13+
    Compression filter direction of operation, compress/decompress
  • En
    FilterErroriOS 13+
    Compression errors

Algorithms 2

Select the compression algorithm used to encode and decode data.

  • En
    AlgorithmiOS 13+
    Compression algorithms, wraps the C API constants.
  • St
    compression_algorithm
    @enum compression_algorithm

Low-Level Streaming 4

Drive the underlying C compression API for incremental, buffered compression work.

  • St
    compression_stream
    A structure that holds the state for an incremental compression or decompression operation.
  • St
    compression_stream_operation
    A type that specifies whether a compression stream encodes or decodes data.
  • St
    compression_stream_flags
    A type that provides flags controlling how a compression stream processes data.
  • St
    compression_status
    A type that reports the result of a low-level compression stream operation.
← Foundation, System & Concurrency