Is it still slow?
-Maybe you are compiling SWCompression not for ‘Release’ but with ‘Debug’ build configuration?
-For some reason, when framework is built for ‘Debug’ its performance significantly worse.
-You can once again check test results if you want to convince yourself that this is the case.
+Finally, SWCompression’s code is not as optimized as original C/C++ versions of corresponding algorithms,
-so some difference in speed is expected.
+Comment: Philosophy for such errors is that by the time these errors are thrown,
+decompression was already performed, so we can still provide the result of decompression to the caller.
+It is intended to fix this problem, but solution requires backwards-incompatible API changes so it is delayed until 4.0 release.
- Better Deflate compression.
-- Support for additional attributes in containers.
- 7zip containers.
- BZip2 compression.
- Something else…
diff --git a/docs/docsets/SWCompression.docset/Contents/Resources/Documents/search.json b/docs/docsets/SWCompression.docset/Contents/Resources/Documents/search.json
index 07c84080..a8ea549a 100644
--- a/docs/docsets/SWCompression.docset/Contents/Resources/Documents/search.json
+++ b/docs/docsets/SWCompression.docset/Contents/Resources/Documents/search.json
@@ -1 +1 @@
-{"Structs/ZlibHeader/CompressionLevel.html#/s:FOV13SWCompression10ZlibHeader16CompressionLevel16fastestAlgorithmFMS1_S1_":{"name":"fastestAlgorithm","abstract":"Fastest algorithm.
","parent_name":"CompressionLevel"},"Structs/ZlibHeader/CompressionLevel.html#/s:FOV13SWCompression10ZlibHeader16CompressionLevel13fastAlgorithmFMS1_S1_":{"name":"fastAlgorithm","abstract":"Fast algorithm.
","parent_name":"CompressionLevel"},"Structs/ZlibHeader/CompressionLevel.html#/s:FOV13SWCompression10ZlibHeader16CompressionLevel16defaultAlgorithmFMS1_S1_":{"name":"defaultAlgorithm","abstract":"Default algorithm.
","parent_name":"CompressionLevel"},"Structs/ZlibHeader/CompressionLevel.html#/s:FOV13SWCompression10ZlibHeader16CompressionLevel13slowAlgorithmFMS1_S1_":{"name":"slowAlgorithm","abstract":"Slowest algorithm but with maximum compression.
","parent_name":"CompressionLevel"},"Structs/ZlibHeader/CompressionMethod.html#/s:FOV13SWCompression10ZlibHeader17CompressionMethod7deflateFMS1_S1_":{"name":"deflate","abstract":"The only one supported compression method (Deflate).
","parent_name":"CompressionMethod"},"Structs/ZlibHeader/CompressionMethod.html":{"name":"CompressionMethod","abstract":"Supported compression methods in zlib archive.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader/CompressionLevel.html":{"name":"CompressionLevel","abstract":"Levels of compression which can be used to create Zlib archive.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader.html#/s:vV13SWCompression10ZlibHeader17compressionMethodOS0_17CompressionMethod":{"name":"compressionMethod","abstract":"Compression method of archive. Currently, always equals to .deflate.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader.html#/s:vV13SWCompression10ZlibHeader16compressionLevelOS0_16CompressionLevel":{"name":"compressionLevel","abstract":"Level of compression used in archive.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader.html#/s:vV13SWCompression10ZlibHeader10windowSizeSi":{"name":"windowSize","abstract":"Size of ‘window’: moving interval of data which was used to make archive.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader.html#/s:FV13SWCompression10ZlibHeadercFzT7archiveV10Foundation4Data_S0_":{"name":"init(archive:)","abstract":"Initializes the structure with the values from Zlib archive.
","parent_name":"ZlibHeader"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType4unixFMS1_S1_":{"name":"unix","abstract":"One of many UNIX-like systems.
","parent_name":"FileSystemType"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType9macintoshFMS1_S1_":{"name":"macintosh","abstract":"Older Macintosh systems.
","parent_name":"FileSystemType"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType4ntfsFMS1_S1_":{"name":"ntfs","abstract":"File system used in Microsoft™®© Windows™®©.
","parent_name":"FileSystemType"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType7unknownFMS1_S1_":{"name":"unknown","abstract":"File system was unknown to the archiver.
","parent_name":"FileSystemType"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType5otherFMS1_S1_":{"name":"other","abstract":"File system is one of the rare systems.
","parent_name":"FileSystemType"},"Structs/GzipHeader/CompressionMethod.html#/s:FOV13SWCompression10GzipHeader17CompressionMethod7deflateFMS1_S1_":{"name":"deflate","abstract":"The only one supported compression method (Deflate).
","parent_name":"CompressionMethod"},"Structs/GzipHeader/CompressionMethod.html":{"name":"CompressionMethod","abstract":"Supported compression methods in GZip archive.
","parent_name":"GzipHeader"},"Structs/GzipHeader/FileSystemType.html":{"name":"FileSystemType","abstract":"Type of file system on which GZip archive was created.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader17compressionMethodOS0_17CompressionMethod":{"name":"compressionMethod","abstract":"Compression method of archive. Currently, always equals to .deflate.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader16modificationTimeGSqV10Foundation4Date_":{"name":"modificationTime","abstract":"The most recent modification time of the original file.","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader6osTypeOS0_14FileSystemType":{"name":"osType","abstract":"
Type of file system on which archivation took place.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader8fileNameGSqSS_":{"name":"fileName","abstract":"Name of the original file. If archive doesn’t contain file’s name, then nil.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader7commentGSqSS_":{"name":"comment","abstract":"Comment stored in archive. If archive doesn’t contain any comment, then nil.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader10isTextFileSb":{"name":"isTextFile","abstract":"Check if file is likely to be text file or ASCII-file.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:FV13SWCompression10GzipHeadercFzT7archiveV10Foundation4Data_S0_":{"name":"init(archive:)","abstract":"Initializes the structure with the values from the first ‘member’ of GZip archive.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html":{"name":"GzipHeader","abstract":"Represents a GZip archive’s header.
"},"Structs/ZlibHeader.html":{"name":"ZlibHeader","abstract":"Represents a Zlib archive’s header.
"},"Protocols/ContainerEntry.html#/s:vP13SWCompression14ContainerEntry4nameSS":{"name":"name","abstract":"Retrieve name of the entry from the container.
","parent_name":"ContainerEntry"},"Protocols/ContainerEntry.html#/s:vP13SWCompression14ContainerEntry4sizeSi":{"name":"size","abstract":"Retrieve size of the entry’s data from the container.
","parent_name":"ContainerEntry"},"Protocols/ContainerEntry.html#/s:vP13SWCompression14ContainerEntry11isDirectorySb":{"name":"isDirectory","abstract":"Check if entry is a directory.
","parent_name":"ContainerEntry"},"Protocols/ContainerEntry.html#/s:FP13SWCompression14ContainerEntry4dataFzT_V10Foundation4Data":{"name":"data()","abstract":"Retrieve entry’s data from the container.
","parent_name":"ContainerEntry"},"Protocols/Container.html#/s:ZFP13SWCompression9Container4openFzT9containerV10Foundation4Data_GSaPS_14ContainerEntry__":{"name":"open(container:)","abstract":"Retrieve all the entries from the container.
","parent_name":"Container"},"Protocols/DecompressionAlgorithm.html#/s:ZFP13SWCompression22DecompressionAlgorithm10decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"Decompress data compressed with particular algorithm.
","parent_name":"DecompressionAlgorithm"},"Protocols/Archive.html#/s:ZFP13SWCompression7Archive9unarchiveFzT7archiveV10Foundation4Data_S2_":{"name":"unarchive(archive:)","abstract":"Unarchive data from the archive.
","parent_name":"Archive"},"Protocols/Archive.html":{"name":"Archive","abstract":"A type that represents an archive.
"},"Protocols/DecompressionAlgorithm.html":{"name":"DecompressionAlgorithm","abstract":"A type that provides an implementation of a particular decompression algorithm.
"},"Protocols/Container.html":{"name":"Container","abstract":"A type that represents a container of files, directories and/or other data.
"},"Protocols/ContainerEntry.html":{"name":"ContainerEntry","abstract":"A type that represents an entry from a container (file or directory) with attributes.
"},"Enums/XZError.html#/s:FO13SWCompression7XZError10wrongMagicFMS0_S0_":{"name":"wrongMagic","abstract":"Either ‘magic’ number in header or footer isn’t equal to a predefined value.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError15wrongFieldValueFMS0_S0_":{"name":"wrongFieldValue","abstract":"One of the fields in archive has an incorrect value.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError18fieldReservedValueFMS0_S0_":{"name":"fieldReservedValue","abstract":"One of the reserved fields in archive has an unexpected value, which can also mean (apart from damaged archive),","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError12wrongInfoCRCFMS0_S0_":{"name":"wrongInfoCRC","abstract":"
Checksum of one of the fields of archive doesn’t match the value stored in archive.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError13wrongFilterIDFMS0_S0_":{"name":"wrongFilterID","abstract":"Filter used in archvie is unsupported.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError15checkTypeSHA256FMS0_S0_":{"name":"checkTypeSHA256","abstract":"Archive uses SHA-256 checksum which is unsupported.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError13wrongDataSizeFMS0_S0_":{"name":"wrongDataSize","abstract":"Either size of decompressed data isn’t equal to the one specified in archive or","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError10wrongCheckFMS0_FV10Foundation4DataS0_":{"name":"wrongCheck","abstract":"
Computed checksum of uncompressed data doesn’t match the value stored in the archive.","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError12wrongPaddingFMS0_S0_":{"name":"wrongPadding","abstract":"
Padding (null-bytes appended to an archive’s structure) is incorrect.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError21multiByteIntegerErrorFMS0_S0_":{"name":"multiByteIntegerError","abstract":"Either null byte encountered or exceeded maximum amount bytes during reading multi byte number.
","parent_name":"XZError"},"Enums/TarError.html#/s:FO13SWCompression8TarError20tooSmallFileIsPassedFMS0_S0_":{"name":"tooSmallFileIsPassed","abstract":"Size of data is too small, even to contain only one header.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError16fieldIsNotNumberFMS0_S0_":{"name":"fieldIsNotNumber","abstract":"Failed to process a field as a number.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError19wrongHeaderChecksumFMS0_S0_":{"name":"wrongHeaderChecksum","abstract":"Computed checksum of a header doesn’t match the value stored in container.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError17wrongUstarVersionFMS0_S0_":{"name":"wrongUstarVersion","abstract":"Unsupported version of USTAR format.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError19wrongPaxHeaderEntryFMS0_S0_":{"name":"wrongPaxHeaderEntry","abstract":"Entry from PAX extended header is in incorrect format.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError14notAsciiStringFMS0_S0_":{"name":"notAsciiString","abstract":"Failed to process a field as an ASCII string.
","parent_name":"TarError"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error10wrongMagicFMS0_S0_":{"name":"wrongMagic","abstract":"‘Magic’ number is not 0x425a.
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error22wrongCompressionMethodFMS0_S0_":{"name":"wrongCompressionMethod","abstract":"Compression method is not type ‘h’ (not Huffman).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error14wrongBlockSizeFMS0_S0_":{"name":"wrongBlockSize","abstract":"Unsupported block size (not from ‘0’ to ‘9’).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error14wrongBlockTypeFMS0_S0_":{"name":"wrongBlockType","abstract":"Unsupported block type (is neither ‘pi’ nor ‘sqrt(pi)’).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error15randomizedBlockFMS0_S0_":{"name":"randomizedBlock","abstract":"Block is randomized.
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error18wrongHuffmanGroupsFMS0_S0_":{"name":"wrongHuffmanGroups","abstract":"Wrong number of Huffman tables/groups (should be between 2 and 6).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error13wrongSelectorFMS0_S0_":{"name":"wrongSelector","abstract":"Selector is greater than the total number of Huffman tables/groups.
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error22wrongHuffmanLengthCodeFMS0_S0_":{"name":"wrongHuffmanLengthCode","abstract":"Wrong code of Huffman length (should be between 0 and 20).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error14symbolNotFoundFMS0_S0_":{"name":"symbolNotFound","abstract":"Symbol wasn’t found in Huffman tree.
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error8wrongCRCFMS0_FV10Foundation4DataS0_":{"name":"wrongCRC","abstract":"Computed checksum of uncompressed data doesn’t match the value stored in archive.","parent_name":"BZip2Error"},"Enums/DeflateError.html#/s:FO13SWCompression12DeflateError29wrongUncompressedBlockLengthsFMS0_S0_":{"name":"wrongUncompressedBlockLengths","abstract":"
Uncompressed block’s length and nlength bytes isn’t consistent with each other.
","parent_name":"DeflateError"},"Enums/DeflateError.html#/s:FO13SWCompression12DeflateError14wrongBlockTypeFMS0_S0_":{"name":"wrongBlockType","abstract":"Unknown block type (not 0, 1 or 2).
","parent_name":"DeflateError"},"Enums/DeflateError.html#/s:FO13SWCompression12DeflateError11wrongSymbolFMS0_S0_":{"name":"wrongSymbol","abstract":"Decoded symbol was found in Huffman tree but is unknown.
","parent_name":"DeflateError"},"Enums/DeflateError.html#/s:FO13SWCompression12DeflateError14symbolNotFoundFMS0_S0_":{"name":"symbolNotFound","abstract":"Symbol wasn’t found in Huffman tree.
","parent_name":"DeflateError"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError22wrongCompressionMethodFMS0_S0_":{"name":"wrongCompressionMethod","abstract":"Compression method used in archive is different from Deflate, which is the only supported one.
","parent_name":"ZlibError"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError20wrongCompressionInfoFMS0_S0_":{"name":"wrongCompressionInfo","abstract":"Compression info has value incompatible with Deflate compression method.
","parent_name":"ZlibError"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError11wrongFcheckFMS0_S0_":{"name":"wrongFcheck","abstract":"First two bytes of archive’s flags are inconsistent with each other.
","parent_name":"ZlibError"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError21wrongCompressionLevelFMS0_S0_":{"name":"wrongCompressionLevel","abstract":"Compression level has value, which is different from the supported ones.
","parent_name":"ZlibError"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError12wrongAdler32FMS0_FV10Foundation4DataS0_":{"name":"wrongAdler32","abstract":"Computed checksum of uncompressed data doesn’t match the value stored in archive.","parent_name":"ZlibError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError15wrongPropertiesFMS0_S0_":{"name":"wrongProperties","abstract":"
Properties’ byte is greater than 225.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError21rangeDecoderInitErrorFMS0_S0_":{"name":"rangeDecoderInitError","abstract":"Unable to initialize RanderDecorer.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError24exceededUncompressedSizeFMS0_S0_":{"name":"exceededUncompressedSize","abstract":"Size of uncompressed data hit specified limit in the middle of decoding.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError13windowIsEmptyFMS0_S0_":{"name":"windowIsEmpty","abstract":"Unable to perfrom repeat-distance decoding because there is nothing to repeat.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError23rangeDecoderFinishErrorFMS0_S0_":{"name":"rangeDecoderFinishError","abstract":"End of stream marker is reached, but range decoder is in incorrect state.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError16repeatWillExceedFMS0_S0_":{"name":"repeatWillExceed","abstract":"The number of bytes to repeat is greater than the amount bytes that is left to decode.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError17notEnoughToRepeatFMS0_S0_":{"name":"notEnoughToRepeat","abstract":"The amount of already decoded bytes is smaller than repeat length.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError23decoderIsNotInitialisedFMS0_S0_":{"name":"decoderIsNotInitialised","abstract":"LZMADecoder wasn’t properly initialized before decoding data.
","parent_name":"LZMAError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError27notFoundCentralDirectoryEndFMS0_S0_":{"name":"notFoundCentralDirectoryEnd","abstract":"End of Central Directoty record wasn’t found.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError14wrongSignatureFMS0_S0_":{"name":"wrongSignature","abstract":"Wrong signature of one of container’s structures.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError9wrongSizeFMS0_S0_":{"name":"wrongSize","abstract":"Wrong either compressed or uncompressed size of a container’s entry.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError12wrongVersionFMS0_S0_":{"name":"wrongVersion","abstract":"Version needed to process container is unsupported.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError24multiVolumesNotSupportedFMS0_S0_":{"name":"multiVolumesNotSupported","abstract":"Container is either spanned or consists of several volumes. These features aren’t supported.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError22encryptionNotSupportedFMS0_S0_":{"name":"encryptionNotSupported","abstract":"Entry or record is encrypted. This feature isn’t supported.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError20patchingNotSupportedFMS0_S0_":{"name":"patchingNotSupported","abstract":"Entry contains patched data. This feature isn’t supported.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError23compressionNotSupportedFMS0_S0_":{"name":"compressionNotSupported","abstract":"Entry is compressed using unsupported compression method.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError16wrongLocalHeaderFMS0_S0_":{"name":"wrongLocalHeader","abstract":"Local header of an entry is inconsistent with Central Directory.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError10wrongCRC32FMS0_FV10Foundation4DataS0_":{"name":"wrongCRC32","abstract":"Computed checksum of entry’s data doesn’t match the value stored in container.","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError14wrongTextFieldFMS0_S0_":{"name":"wrongTextField","abstract":"
Either entry’s comment or file name cannot be processed using UTF-8 encoding.
","parent_name":"ZipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError10wrongMagicFMS0_S0_":{"name":"wrongMagic","abstract":"First two bytes (‘magic’ number) of archive isn’t 31 and 139.
","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError22wrongCompressionMethodFMS0_S0_":{"name":"wrongCompressionMethod","abstract":"Compression method used in archive is different from Deflate, which is the only supported one.
","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError10wrongFlagsFMS0_S0_":{"name":"wrongFlags","abstract":"One of the reserved fields in archive has an unexpected value, which can also mean (apart from damaged archive),","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError14wrongHeaderCRCFMS0_S0_":{"name":"wrongHeaderCRC","abstract":"
Computed CRC of archive’s header doesn’t match the value stored in archive.
","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError8wrongCRCFMS0_FV10Foundation4DataS0_":{"name":"wrongCRC","abstract":"Computed checksum of uncompressed data doesn’t match the value stored in archive.","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError10wrongISizeFMS0_S0_":{"name":"wrongISize","abstract":"
Computed ‘isize’ didn’t match the value stored in the archive.
","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError21cannotEncodeISOLatin1FMS0_S0_":{"name":"cannotEncodeISOLatin1","abstract":"Either specified file name or comment cannot be encoded using ISO Latin-1 encoding.
","parent_name":"GzipError"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error15wrongPropertiesFMS0_S0_":{"name":"wrongProperties","abstract":"Reserved bits of LZMA2 properties’ byte aren’t equal to zero.
","parent_name":"LZMA2Error"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error19wrongDictionarySizeFMS0_S0_":{"name":"wrongDictionarySize","abstract":"Dictionary size is too big.
","parent_name":"LZMA2Error"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error16wrongControlByteFMS0_S0_":{"name":"wrongControlByte","abstract":"Unknown conrol byte value of LZMA2 packet.
","parent_name":"LZMA2Error"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error10wrongResetFMS0_S0_":{"name":"wrongReset","abstract":"Unknown reset instruction encountered in LZMA2 packet.
","parent_name":"LZMA2Error"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error10wrongSizesFMS0_S0_":{"name":"wrongSizes","abstract":"Either size of decompressed data isn’t equal to the one specified in LZMA2 packet or","parent_name":"LZMA2Error"},"Enums/LZMA2Error.html":{"name":"LZMA2Error","abstract":"
Represents an error, which happened during LZMA2 decompression."},"Enums/GzipError.html":{"name":"GzipError","abstract":"
Represents an error, which happened during processing GZip archive."},"Enums/ZipError.html":{"name":"ZipError","abstract":"
Represents an error, which happened during processing ZIP container."},"Enums/LZMAError.html":{"name":"LZMAError","abstract":"
Represents an error, which happened during LZMA decompression."},"Enums/ZlibError.html":{"name":"ZlibError","abstract":"
Represents an error, which happened during processing Zlib archive."},"Enums/DeflateError.html":{"name":"DeflateError","abstract":"
Represents an error, which happened during Deflate compression or decompression."},"Enums/BZip2Error.html":{"name":"BZip2Error","abstract":"
Represents an error, which happened during BZip2 decompression."},"Enums/TarError.html":{"name":"TarError","abstract":"
Represents an error, which happened during processing TAR container."},"Enums/XZError.html":{"name":"XZError","abstract":"
Represents an error, which happened during unarchiving XZ archive."},"Classes/XZArchive.html#/s:ZFC13SWCompression9XZArchive9unarchiveFzT7archiveV10Foundation4Data_S2_":{"name":"unarchive(archive:)","abstract":"
Unarchives XZ archive.
","parent_name":"XZArchive"},"Classes/XZArchive.html#/s:ZFC13SWCompression9XZArchive14multiUnarchiveFzT7archiveV10Foundation4Data_GSaS2__":{"name":"multiUnarchive(archive:)","abstract":"Undocumented
","parent_name":"XZArchive"},"Classes/TarContainer.html#/s:ZFC13SWCompression12TarContainer4openFzT9containerV10Foundation4Data_GSaPS_14ContainerEntry__":{"name":"open(container:)","abstract":"Processes TAR container and returns an array of ContainerEntries (which are actually TarEntries).
","parent_name":"TarContainer"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType6normalFMS1_S1_":{"name":"normal","abstract":"Normal file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType8hardLinkFMS1_S1_":{"name":"hardLink","abstract":"Hard linked entry.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType12symbolicLinkFMS1_S1_":{"name":"symbolicLink","abstract":"Symbolically linked entry.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType16characterSpecialFMS1_S1_":{"name":"characterSpecial","abstract":"Character special file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType12blockSpecialFMS1_S1_":{"name":"blockSpecial","abstract":"Block special file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType9directoryFMS1_S1_":{"name":"directory","abstract":"Directory.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType4fifoFMS1_S1_":{"name":"fifo","abstract":"FIFO special file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType10contiguousFMS1_S1_":{"name":"contiguous","abstract":"Contiguous file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType20globalExtendedHeaderFMS1_S1_":{"name":"globalExtendedHeader","abstract":"PAX global extended header. (Should not be encountered separately).
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType19localExtendedHeaderFMS1_S1_":{"name":"localExtendedHeader","abstract":"PAX local extended header. (Should not be encountered separately).
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType23vendorUnknownOrReservedFMS1_S1_":{"name":"vendorUnknownOrReserved","abstract":"Either unknown type, vendor specific or reserved value.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html":{"name":"EntryType","abstract":"Represents a type of an entry.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry4nameSS":{"name":"name","abstract":"Name of the file or directory.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry11isDirectorySb":{"name":"isDirectory","abstract":"True, if an entry is a directory.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry4sizeSi":{"name":"size","abstract":"Size of the data associated with the entry.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry15entryAttributesGVs10DictionaryVSC16FileAttributeKeyP__":{"name":"entryAttributes","abstract":"Provides a dictionary with various attributes of the entry.","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry4modeGSqSi_":{"name":"mode","abstract":"
File mode.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry7ownerIDGSqSi_":{"name":"ownerID","abstract":"Owner’s ID.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry7groupIDGSqSi_":{"name":"groupID","abstract":"Owner’s group ID.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry16modificationTimeV10Foundation4Date":{"name":"modificationTime","abstract":"The most recent modification time of the original file or directory.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry4typeOS0_9EntryType":{"name":"type","abstract":"Type of entry.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry13ownerUserNameGSqSS_":{"name":"ownerUserName","abstract":"Owner’s user name.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry14ownerGroupNameGSqSS_":{"name":"ownerGroupName","abstract":"Owner’s group name.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry10accessTimeGSqV10Foundation4Date_":{"name":"accessTime","abstract":"The most recent access time of the original file or directory (PAX only).
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry7charsetGSqSS_":{"name":"charset","abstract":"Name of the character set used to encode entry’s data (PAX only).
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry7commentGSqSS_":{"name":"comment","abstract":"Comment associated with the entry (PAX only).
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry8linkPathGSqSS_":{"name":"linkPath","abstract":"Path to a linked file.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry28unknownExtendedHeaderEntriesGVs10DictionarySSSS_":{"name":"unknownExtendedHeaderEntries","abstract":"Other entries from PAX extended headers.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:FC13SWCompression8TarEntry4dataFT_V10Foundation4Data":{"name":"data()","abstract":"Returns data associated with this entry.
","parent_name":"TarEntry"},"Classes/BZip2.html#/s:ZFC13SWCompression5BZip210decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"Decompresses data using BZip2 algortihm.
","parent_name":"BZip2"},"Classes/Deflate.html#/s:ZFC13SWCompression7Deflate10decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"Decompresses data using Deflate algortihm.
","parent_name":"Deflate"},"Classes/Deflate.html#/s:ZFC13SWCompression7Deflate8compressFzT4dataV10Foundation4Data_S2_":{"name":"compress(data:)","abstract":"Compresses data with Deflate algortihm.
","parent_name":"Deflate"},"Classes/ZlibArchive.html#/s:ZFC13SWCompression11ZlibArchive9unarchiveFzT7archiveV10Foundation4Data_S2_":{"name":"unarchive(archive:)","abstract":"Unarchives Zlib archive.
","parent_name":"ZlibArchive"},"Classes/ZlibArchive.html#/s:ZFC13SWCompression11ZlibArchive7archiveFzT4dataV10Foundation4Data_S2_":{"name":"archive(data:)","abstract":"Archives data into Zlib archive.","parent_name":"ZlibArchive"},"Classes/LZMA.html#/s:ZFC13SWCompression4LZMA10decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"
Decompresses data using LZMA algortihm.
","parent_name":"LZMA"},"Classes/ZipContainer.html#/s:ZFC13SWCompression12ZipContainer4openFzT9containerV10Foundation4Data_GSaPS_14ContainerEntry__":{"name":"open(container:)","abstract":"Processes ZIP container and returns an array of ContainerEntries (which are actually ZipEntries).
","parent_name":"ZipContainer"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry4nameSS":{"name":"name","abstract":"Name of the file or directory.
","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry7commentGSqSS_":{"name":"comment","abstract":"Comment associated with the entry.
","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry10attributesVs6UInt32":{"name":"attributes","abstract":"File or directory attributes related to the file system of the container’s creator.
","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry4sizeSi":{"name":"size","abstract":"Size of the data associated with the entry.
","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry11isDirectorySb":{"name":"isDirectory","abstract":"True, if an entry is a directory.","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry15entryAttributesGVs10DictionaryVSC16FileAttributeKeyP__":{"name":"entryAttributes","abstract":"
Provides a dictionary with various attributes of the entry.","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:FC13SWCompression8ZipEntry4dataFzT_V10Foundation4Data":{"name":"data()","abstract":"
Returns data associated with this entry.
","parent_name":"ZipEntry"},"Classes/GzipArchive/Member.html#/s:vVC13SWCompression11GzipArchive6Member6headerVS_10GzipHeader":{"name":"header","abstract":"Undocumented
","parent_name":"Member"},"Classes/GzipArchive/Member.html#/s:vVC13SWCompression11GzipArchive6Member4dataV10Foundation4Data":{"name":"data","abstract":"Undocumented
","parent_name":"Member"},"Classes/GzipArchive/Member.html":{"name":"Member","abstract":"Undocumented
","parent_name":"GzipArchive"},"Classes/GzipArchive.html#/s:ZFC13SWCompression11GzipArchive9unarchiveFzT7archiveV10Foundation4Data_S2_":{"name":"unarchive(archive:)","abstract":"Unarchives GZip archive.
","parent_name":"GzipArchive"},"Classes/GzipArchive.html#/s:ZFC13SWCompression11GzipArchive14multiUnarchiveFzT7archiveV10Foundation4Data_GSaVS0_6Member_":{"name":"multiUnarchive(archive:)","abstract":"Undocumented
","parent_name":"GzipArchive"},"Classes/GzipArchive.html#/s:ZFC13SWCompression11GzipArchive7archiveFzT4dataV10Foundation4Data7commentGSqSS_8fileNameGSqSS_14writeHeaderCRCSb10isTextFileSb6osTypeGSqOVS_10GzipHeader14FileSystemType_16modificationTimeGSqVS1_4Date__S2_":{"name":"archive(data:comment:fileName:writeHeaderCRC:isTextFile:osType:modificationTime:)","abstract":"Archives data into GZip archive, using various specified options.","parent_name":"GzipArchive"},"Classes/LZMA2.html#/s:ZFC13SWCompression5LZMA210decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"
Decompresses data using LZMA2 algortihm.
","parent_name":"LZMA2"},"Classes/LZMA2.html":{"name":"LZMA2","abstract":"Provides decompression function for LZMA2 algorithm.
"},"Classes/GzipArchive.html":{"name":"GzipArchive","abstract":"Provides unarchive and archive functions for GZip archives.
"},"Classes/ZipEntry.html":{"name":"ZipEntry","abstract":"Represents either a file or directory entry in ZIP container.
"},"Classes/ZipContainer.html":{"name":"ZipContainer","abstract":"Provides open function for ZIP containers.
"},"Classes/LZMA.html":{"name":"LZMA","abstract":"Provides decompression function for LZMA algorithm.
"},"Classes/ZlibArchive.html":{"name":"ZlibArchive","abstract":"Provides unarchive and archive functions for Zlib archives.
"},"Classes/Deflate.html":{"name":"Deflate","abstract":"Provides compression and decompression functions for Deflate algorithm.
"},"Classes/BZip2.html":{"name":"BZip2","abstract":"Provides decompression function for BZip2 algorithm.
"},"Classes/TarEntry.html":{"name":"TarEntry","abstract":"Represents either a file or directory entry in TAR container.
"},"Classes/TarContainer.html":{"name":"TarContainer","abstract":"Provides open function for TAR containers.
"},"Classes/XZArchive.html":{"name":"XZArchive","abstract":"Provides unarchive function for XZ archives.
"},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally.
"},"Enums.html":{"name":"Enums","abstract":"The following enums are available globally.
"},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally.
"},"Structs.html":{"name":"Structs","abstract":"The following structs are available globally.
"}}
\ No newline at end of file
+{"Protocols/DecompressionAlgorithm.html#/s:ZFP13SWCompression22DecompressionAlgorithm10decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"Decompress data compressed with particular algorithm.
","parent_name":"DecompressionAlgorithm"},"Protocols/ContainerEntry.html#/s:vP13SWCompression14ContainerEntry4nameSS":{"name":"name","abstract":"Retrieve name of the entry from the container.
","parent_name":"ContainerEntry"},"Protocols/ContainerEntry.html#/s:vP13SWCompression14ContainerEntry4sizeSi":{"name":"size","abstract":"Retrieve size of the entry’s data from the container.
","parent_name":"ContainerEntry"},"Protocols/ContainerEntry.html#/s:vP13SWCompression14ContainerEntry11isDirectorySb":{"name":"isDirectory","abstract":"Check if entry is a directory.
","parent_name":"ContainerEntry"},"Protocols/ContainerEntry.html#/s:vP13SWCompression14ContainerEntry15entryAttributesGVs10DictionaryVSC16FileAttributeKeyP__":{"name":"entryAttributes","abstract":"Provides a dictionary with various attributes of the entry.","parent_name":"ContainerEntry"},"Protocols/ContainerEntry.html#/s:FP13SWCompression14ContainerEntry4dataFzT_V10Foundation4Data":{"name":"data()","abstract":"
Retrieve entry’s data from the container.
","parent_name":"ContainerEntry"},"Protocols/Container.html#/s:ZFP13SWCompression9Container4openFzT9containerV10Foundation4Data_GSaPS_14ContainerEntry__":{"name":"open(container:)","abstract":"Retrieve all the entries from the container.
","parent_name":"Container"},"Protocols/Archive.html#/s:ZFP13SWCompression7Archive9unarchiveFzT7archiveV10Foundation4Data_S2_":{"name":"unarchive(archive:)","abstract":"Unarchive data from the archive.
","parent_name":"Archive"},"Protocols/Archive.html":{"name":"Archive","abstract":"A type that represents an archive.
"},"Protocols/Container.html":{"name":"Container","abstract":"A type that represents a container of files, directories and/or other data.
"},"Protocols/ContainerEntry.html":{"name":"ContainerEntry","abstract":"A type that represents an entry from a container (file or directory) with attributes.
"},"Protocols/DecompressionAlgorithm.html":{"name":"DecompressionAlgorithm","abstract":"A type that provides an implementation of a particular decompression algorithm.
"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError22wrongCompressionMethodFMS0_S0_":{"name":"wrongCompressionMethod","abstract":"Compression method used in archive is different from Deflate, which is the only supported one.
","parent_name":"ZlibError"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError20wrongCompressionInfoFMS0_S0_":{"name":"wrongCompressionInfo","abstract":"Compression info has value incompatible with Deflate compression method.
","parent_name":"ZlibError"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError11wrongFcheckFMS0_S0_":{"name":"wrongFcheck","abstract":"First two bytes of archive’s flags are inconsistent with each other.
","parent_name":"ZlibError"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError21wrongCompressionLevelFMS0_S0_":{"name":"wrongCompressionLevel","abstract":"Compression level has value, which is different from the supported ones.
","parent_name":"ZlibError"},"Enums/ZlibError.html#/s:FO13SWCompression9ZlibError12wrongAdler32FMS0_FV10Foundation4DataS0_":{"name":"wrongAdler32","abstract":"Computed checksum of uncompressed data doesn’t match the value stored in archive.","parent_name":"ZlibError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError27notFoundCentralDirectoryEndFMS0_S0_":{"name":"notFoundCentralDirectoryEnd","abstract":"
End of Central Directoty record wasn’t found.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError14wrongSignatureFMS0_S0_":{"name":"wrongSignature","abstract":"Wrong signature of one of container’s structures.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError9wrongSizeFMS0_S0_":{"name":"wrongSize","abstract":"Wrong either compressed or uncompressed size of a container’s entry.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError12wrongVersionFMS0_S0_":{"name":"wrongVersion","abstract":"Version needed to process container is unsupported.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError24multiVolumesNotSupportedFMS0_S0_":{"name":"multiVolumesNotSupported","abstract":"Container is either spanned or consists of several volumes. These features aren’t supported.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError22encryptionNotSupportedFMS0_S0_":{"name":"encryptionNotSupported","abstract":"Entry or record is encrypted. This feature isn’t supported.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError20patchingNotSupportedFMS0_S0_":{"name":"patchingNotSupported","abstract":"Entry contains patched data. This feature isn’t supported.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError23compressionNotSupportedFMS0_S0_":{"name":"compressionNotSupported","abstract":"Entry is compressed using unsupported compression method.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError16wrongLocalHeaderFMS0_S0_":{"name":"wrongLocalHeader","abstract":"Local header of an entry is inconsistent with Central Directory.
","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError10wrongCRC32FMS0_FV10Foundation4DataS0_":{"name":"wrongCRC32","abstract":"Computed checksum of entry’s data doesn’t match the value stored in container.","parent_name":"ZipError"},"Enums/ZipError.html#/s:FO13SWCompression8ZipError14wrongTextFieldFMS0_S0_":{"name":"wrongTextField","abstract":"
Either entry’s comment or file name cannot be processed using UTF-8 encoding.
","parent_name":"ZipError"},"Enums/XZError.html#/s:FO13SWCompression7XZError10wrongMagicFMS0_S0_":{"name":"wrongMagic","abstract":"Either ‘magic’ number in header or footer isn’t equal to a predefined value.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError15wrongFieldValueFMS0_S0_":{"name":"wrongFieldValue","abstract":"One of the fields in archive has an incorrect value.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError18fieldReservedValueFMS0_S0_":{"name":"fieldReservedValue","abstract":"One of the reserved fields in archive has an unexpected value, which can also mean (apart from damaged archive),","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError12wrongInfoCRCFMS0_S0_":{"name":"wrongInfoCRC","abstract":"
Checksum of one of the fields of archive doesn’t match the value stored in archive.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError13wrongFilterIDFMS0_S0_":{"name":"wrongFilterID","abstract":"Filter used in archvie is unsupported.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError15checkTypeSHA256FMS0_S0_":{"name":"checkTypeSHA256","abstract":"Archive uses SHA-256 checksum which is unsupported.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError13wrongDataSizeFMS0_S0_":{"name":"wrongDataSize","abstract":"Either size of decompressed data isn’t equal to the one specified in archive or","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError10wrongCheckFMS0_FV10Foundation4DataS0_":{"name":"wrongCheck","abstract":"
Computed checksum of uncompressed data doesn’t match the value stored in the archive.","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError12wrongPaddingFMS0_S0_":{"name":"wrongPadding","abstract":"
Padding (null-bytes appended to an archive’s structure) is incorrect.
","parent_name":"XZError"},"Enums/XZError.html#/s:FO13SWCompression7XZError21multiByteIntegerErrorFMS0_S0_":{"name":"multiByteIntegerError","abstract":"Either null byte encountered or exceeded maximum amount bytes during reading multi byte number.
","parent_name":"XZError"},"Enums/TarError.html#/s:FO13SWCompression8TarError20tooSmallFileIsPassedFMS0_S0_":{"name":"tooSmallFileIsPassed","abstract":"Size of data is too small, even to contain only one header.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError16fieldIsNotNumberFMS0_S0_":{"name":"fieldIsNotNumber","abstract":"Failed to process a field as a number.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError19wrongHeaderChecksumFMS0_S0_":{"name":"wrongHeaderChecksum","abstract":"Computed checksum of a header doesn’t match the value stored in container.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError17wrongUstarVersionFMS0_S0_":{"name":"wrongUstarVersion","abstract":"Unsupported version of USTAR format.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError19wrongPaxHeaderEntryFMS0_S0_":{"name":"wrongPaxHeaderEntry","abstract":"Entry from PAX extended header is in incorrect format.
","parent_name":"TarError"},"Enums/TarError.html#/s:FO13SWCompression8TarError14notAsciiStringFMS0_S0_":{"name":"notAsciiString","abstract":"Failed to process a field as an ASCII string.
","parent_name":"TarError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError15wrongPropertiesFMS0_S0_":{"name":"wrongProperties","abstract":"Properties’ byte is greater than 225.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError21rangeDecoderInitErrorFMS0_S0_":{"name":"rangeDecoderInitError","abstract":"Unable to initialize RanderDecorer.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError24exceededUncompressedSizeFMS0_S0_":{"name":"exceededUncompressedSize","abstract":"Size of uncompressed data hit specified limit in the middle of decoding.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError13windowIsEmptyFMS0_S0_":{"name":"windowIsEmpty","abstract":"Unable to perfrom repeat-distance decoding because there is nothing to repeat.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError23rangeDecoderFinishErrorFMS0_S0_":{"name":"rangeDecoderFinishError","abstract":"End of stream marker is reached, but range decoder is in incorrect state.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError16repeatWillExceedFMS0_S0_":{"name":"repeatWillExceed","abstract":"The number of bytes to repeat is greater than the amount bytes that is left to decode.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError17notEnoughToRepeatFMS0_S0_":{"name":"notEnoughToRepeat","abstract":"The amount of already decoded bytes is smaller than repeat length.
","parent_name":"LZMAError"},"Enums/LZMAError.html#/s:FO13SWCompression9LZMAError23decoderIsNotInitialisedFMS0_S0_":{"name":"decoderIsNotInitialised","abstract":"LZMADecoder wasn’t properly initialized before decoding data.
","parent_name":"LZMAError"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error15wrongPropertiesFMS0_S0_":{"name":"wrongProperties","abstract":"Reserved bits of LZMA2 properties’ byte aren’t equal to zero.
","parent_name":"LZMA2Error"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error19wrongDictionarySizeFMS0_S0_":{"name":"wrongDictionarySize","abstract":"Dictionary size is too big.
","parent_name":"LZMA2Error"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error16wrongControlByteFMS0_S0_":{"name":"wrongControlByte","abstract":"Unknown conrol byte value of LZMA2 packet.
","parent_name":"LZMA2Error"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error10wrongResetFMS0_S0_":{"name":"wrongReset","abstract":"Unknown reset instruction encountered in LZMA2 packet.
","parent_name":"LZMA2Error"},"Enums/LZMA2Error.html#/s:FO13SWCompression10LZMA2Error10wrongSizesFMS0_S0_":{"name":"wrongSizes","abstract":"Either size of decompressed data isn’t equal to the one specified in LZMA2 packet or","parent_name":"LZMA2Error"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError10wrongMagicFMS0_S0_":{"name":"wrongMagic","abstract":"
First two bytes (‘magic’ number) of archive isn’t 31 and 139.
","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError22wrongCompressionMethodFMS0_S0_":{"name":"wrongCompressionMethod","abstract":"Compression method used in archive is different from Deflate, which is the only supported one.
","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError10wrongFlagsFMS0_S0_":{"name":"wrongFlags","abstract":"One of the reserved fields in archive has an unexpected value, which can also mean (apart from damaged archive),","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError14wrongHeaderCRCFMS0_S0_":{"name":"wrongHeaderCRC","abstract":"
Computed CRC of archive’s header doesn’t match the value stored in archive.
","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError8wrongCRCFMS0_FV10Foundation4DataS0_":{"name":"wrongCRC","abstract":"Computed checksum of uncompressed data doesn’t match the value stored in archive.","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError10wrongISizeFMS0_S0_":{"name":"wrongISize","abstract":"
Computed ‘isize’ didn’t match the value stored in the archive.
","parent_name":"GzipError"},"Enums/GzipError.html#/s:FO13SWCompression9GzipError21cannotEncodeISOLatin1FMS0_S0_":{"name":"cannotEncodeISOLatin1","abstract":"Either specified file name or comment cannot be encoded using ISO Latin-1 encoding.
","parent_name":"GzipError"},"Enums/DeflateError.html#/s:FO13SWCompression12DeflateError29wrongUncompressedBlockLengthsFMS0_S0_":{"name":"wrongUncompressedBlockLengths","abstract":"Uncompressed block’s length and nlength bytes isn’t consistent with each other.
","parent_name":"DeflateError"},"Enums/DeflateError.html#/s:FO13SWCompression12DeflateError14wrongBlockTypeFMS0_S0_":{"name":"wrongBlockType","abstract":"Unknown block type (not 0, 1 or 2).
","parent_name":"DeflateError"},"Enums/DeflateError.html#/s:FO13SWCompression12DeflateError11wrongSymbolFMS0_S0_":{"name":"wrongSymbol","abstract":"Decoded symbol was found in Huffman tree but is unknown.
","parent_name":"DeflateError"},"Enums/DeflateError.html#/s:FO13SWCompression12DeflateError14symbolNotFoundFMS0_S0_":{"name":"symbolNotFound","abstract":"Symbol wasn’t found in Huffman tree.
","parent_name":"DeflateError"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error10wrongMagicFMS0_S0_":{"name":"wrongMagic","abstract":"‘Magic’ number is not 0x425a.
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error22wrongCompressionMethodFMS0_S0_":{"name":"wrongCompressionMethod","abstract":"Compression method is not type ‘h’ (not Huffman).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error14wrongBlockSizeFMS0_S0_":{"name":"wrongBlockSize","abstract":"Unsupported block size (not from ‘0’ to ‘9’).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error14wrongBlockTypeFMS0_S0_":{"name":"wrongBlockType","abstract":"Unsupported block type (is neither ‘pi’ nor ‘sqrt(pi)’).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error15randomizedBlockFMS0_S0_":{"name":"randomizedBlock","abstract":"Block is randomized.
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error18wrongHuffmanGroupsFMS0_S0_":{"name":"wrongHuffmanGroups","abstract":"Wrong number of Huffman tables/groups (should be between 2 and 6).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error13wrongSelectorFMS0_S0_":{"name":"wrongSelector","abstract":"Selector is greater than the total number of Huffman tables/groups.
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error22wrongHuffmanLengthCodeFMS0_S0_":{"name":"wrongHuffmanLengthCode","abstract":"Wrong code of Huffman length (should be between 0 and 20).
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error14symbolNotFoundFMS0_S0_":{"name":"symbolNotFound","abstract":"Symbol wasn’t found in Huffman tree.
","parent_name":"BZip2Error"},"Enums/BZip2Error.html#/s:FO13SWCompression10BZip2Error8wrongCRCFMS0_FV10Foundation4DataS0_":{"name":"wrongCRC","abstract":"Computed checksum of uncompressed data doesn’t match the value stored in archive.","parent_name":"BZip2Error"},"Enums/BZip2Error.html":{"name":"BZip2Error","abstract":"
Represents an error, which happened during BZip2 decompression."},"Enums/DeflateError.html":{"name":"DeflateError","abstract":"
Represents an error, which happened during Deflate compression or decompression."},"Enums/GzipError.html":{"name":"GzipError","abstract":"
Represents an error, which happened during processing GZip archive."},"Enums/LZMA2Error.html":{"name":"LZMA2Error","abstract":"
Represents an error, which happened during LZMA2 decompression."},"Enums/LZMAError.html":{"name":"LZMAError","abstract":"
Represents an error, which happened during LZMA decompression."},"Enums/TarError.html":{"name":"TarError","abstract":"
Represents an error, which happened during processing TAR container."},"Enums/XZError.html":{"name":"XZError","abstract":"
Represents an error, which happened during unarchiving XZ archive."},"Enums/ZipError.html":{"name":"ZipError","abstract":"
Represents an error, which happened during processing ZIP container."},"Enums/ZlibError.html":{"name":"ZlibError","abstract":"
Represents an error, which happened during processing Zlib archive."},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType6normalFMS1_S1_":{"name":"normal","abstract":"
Normal file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType8hardLinkFMS1_S1_":{"name":"hardLink","abstract":"Hard linked entry.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType12symbolicLinkFMS1_S1_":{"name":"symbolicLink","abstract":"Symbolically linked entry.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType16characterSpecialFMS1_S1_":{"name":"characterSpecial","abstract":"Character special file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType12blockSpecialFMS1_S1_":{"name":"blockSpecial","abstract":"Block special file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType9directoryFMS1_S1_":{"name":"directory","abstract":"Directory.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType4fifoFMS1_S1_":{"name":"fifo","abstract":"FIFO special file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType10contiguousFMS1_S1_":{"name":"contiguous","abstract":"Contiguous file.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType20globalExtendedHeaderFMS1_S1_":{"name":"globalExtendedHeader","abstract":"PAX global extended header. (Should not be encountered separately).
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType19localExtendedHeaderFMS1_S1_":{"name":"localExtendedHeader","abstract":"PAX local extended header. (Should not be encountered separately).
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html#/s:FOC13SWCompression8TarEntry9EntryType23vendorUnknownOrReservedFMS1_S1_":{"name":"vendorUnknownOrReserved","abstract":"Either unknown type, vendor specific or reserved value.
","parent_name":"EntryType"},"Classes/TarEntry/EntryType.html":{"name":"EntryType","abstract":"Represents a type of an entry.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry4nameSS":{"name":"name","abstract":"Name of the file or directory.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry11isDirectorySb":{"name":"isDirectory","abstract":"True, if an entry is a directory.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry4sizeSi":{"name":"size","abstract":"Size of the data associated with the entry.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry15entryAttributesGVs10DictionaryVSC16FileAttributeKeyP__":{"name":"entryAttributes","abstract":"Provides a dictionary with various attributes of the entry.","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry4modeGSqSi_":{"name":"mode","abstract":"
File mode.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry7ownerIDGSqSi_":{"name":"ownerID","abstract":"Owner’s ID.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry7groupIDGSqSi_":{"name":"groupID","abstract":"Owner’s group ID.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry16modificationTimeV10Foundation4Date":{"name":"modificationTime","abstract":"The most recent modification time of the original file or directory.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry4typeOS0_9EntryType":{"name":"type","abstract":"Type of entry.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry13ownerUserNameGSqSS_":{"name":"ownerUserName","abstract":"Owner’s user name.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry14ownerGroupNameGSqSS_":{"name":"ownerGroupName","abstract":"Owner’s group name.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry10accessTimeGSqV10Foundation4Date_":{"name":"accessTime","abstract":"The most recent access time of the original file or directory (PAX only).
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry7charsetGSqSS_":{"name":"charset","abstract":"Name of the character set used to encode entry’s data (PAX only).
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry7commentGSqSS_":{"name":"comment","abstract":"Comment associated with the entry (PAX only).
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry8linkPathGSqSS_":{"name":"linkPath","abstract":"Path to a linked file.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:vC13SWCompression8TarEntry28unknownExtendedHeaderEntriesGVs10DictionarySSSS_":{"name":"unknownExtendedHeaderEntries","abstract":"Other entries from PAX extended headers.
","parent_name":"TarEntry"},"Classes/TarEntry.html#/s:FC13SWCompression8TarEntry4dataFT_V10Foundation4Data":{"name":"data()","abstract":"Returns data associated with this entry.
","parent_name":"TarEntry"},"Classes/TarContainer.html#/s:ZFC13SWCompression12TarContainer4openFzT9containerV10Foundation4Data_GSaPS_14ContainerEntry__":{"name":"open(container:)","abstract":"Processes TAR container and returns an array of ContainerEntries (which are actually TarEntries).
","parent_name":"TarContainer"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry4nameSS":{"name":"name","abstract":"Name of the file or directory.
","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry7commentGSqSS_":{"name":"comment","abstract":"Comment associated with the entry.
","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry10attributesVs6UInt32":{"name":"attributes","abstract":"File or directory attributes related to the file system of the container’s creator.
","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry4sizeSi":{"name":"size","abstract":"Size of the data associated with the entry.
","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry11isDirectorySb":{"name":"isDirectory","abstract":"True, if an entry is a directory.","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:vC13SWCompression8ZipEntry15entryAttributesGVs10DictionaryVSC16FileAttributeKeyP__":{"name":"entryAttributes","abstract":"
Provides a dictionary with various attributes of the entry.","parent_name":"ZipEntry"},"Classes/ZipEntry.html#/s:FC13SWCompression8ZipEntry4dataFzT_V10Foundation4Data":{"name":"data()","abstract":"
Returns data associated with this entry.
","parent_name":"ZipEntry"},"Classes/ZipContainer.html#/s:ZFC13SWCompression12ZipContainer4openFzT9containerV10Foundation4Data_GSaPS_14ContainerEntry__":{"name":"open(container:)","abstract":"Processes ZIP container and returns an array of ContainerEntries (which are actually ZipEntries).
","parent_name":"ZipContainer"},"Classes/ZipContainer.html":{"name":"ZipContainer","abstract":"Provides open function for ZIP containers.
"},"Classes/ZipEntry.html":{"name":"ZipEntry","abstract":"Represents either a file or directory entry in ZIP container.
"},"Classes/TarContainer.html":{"name":"TarContainer","abstract":"Provides open function for TAR containers.
"},"Classes/TarEntry.html":{"name":"TarEntry","abstract":"Represents either a file or directory entry in TAR container.
"},"Classes/XZArchive.html#/s:ZFC13SWCompression9XZArchive9unarchiveFzT7archiveV10Foundation4Data_S2_":{"name":"unarchive(archive:)","abstract":"Unarchives XZ archive.
","parent_name":"XZArchive"},"Classes/XZArchive.html#/s:ZFC13SWCompression9XZArchive14multiUnarchiveFzT7archiveV10Foundation4Data_GSaS2__":{"name":"multiUnarchive(archive:)","abstract":"Unarchives XZ archive which contains one or more streams.
","parent_name":"XZArchive"},"Structs/ZlibHeader/CompressionLevel.html#/s:FOV13SWCompression10ZlibHeader16CompressionLevel16fastestAlgorithmFMS1_S1_":{"name":"fastestAlgorithm","abstract":"Fastest algorithm.
","parent_name":"CompressionLevel"},"Structs/ZlibHeader/CompressionLevel.html#/s:FOV13SWCompression10ZlibHeader16CompressionLevel13fastAlgorithmFMS1_S1_":{"name":"fastAlgorithm","abstract":"Fast algorithm.
","parent_name":"CompressionLevel"},"Structs/ZlibHeader/CompressionLevel.html#/s:FOV13SWCompression10ZlibHeader16CompressionLevel16defaultAlgorithmFMS1_S1_":{"name":"defaultAlgorithm","abstract":"Default algorithm.
","parent_name":"CompressionLevel"},"Structs/ZlibHeader/CompressionLevel.html#/s:FOV13SWCompression10ZlibHeader16CompressionLevel13slowAlgorithmFMS1_S1_":{"name":"slowAlgorithm","abstract":"Slowest algorithm but with maximum compression.
","parent_name":"CompressionLevel"},"Structs/ZlibHeader/CompressionMethod.html#/s:FOV13SWCompression10ZlibHeader17CompressionMethod7deflateFMS1_S1_":{"name":"deflate","abstract":"The only one supported compression method (Deflate).
","parent_name":"CompressionMethod"},"Structs/ZlibHeader/CompressionMethod.html":{"name":"CompressionMethod","abstract":"Supported compression methods in zlib archive.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader/CompressionLevel.html":{"name":"CompressionLevel","abstract":"Levels of compression which can be used to create Zlib archive.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader.html#/s:vV13SWCompression10ZlibHeader17compressionMethodOS0_17CompressionMethod":{"name":"compressionMethod","abstract":"Compression method of archive. Currently, always equals to .deflate.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader.html#/s:vV13SWCompression10ZlibHeader16compressionLevelOS0_16CompressionLevel":{"name":"compressionLevel","abstract":"Level of compression used in archive.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader.html#/s:vV13SWCompression10ZlibHeader10windowSizeSi":{"name":"windowSize","abstract":"Size of ‘window’: moving interval of data which was used to make archive.
","parent_name":"ZlibHeader"},"Structs/ZlibHeader.html#/s:FV13SWCompression10ZlibHeadercFzT7archiveV10Foundation4Data_S0_":{"name":"init(archive:)","abstract":"Initializes the structure with the values from Zlib archive.
","parent_name":"ZlibHeader"},"Classes/ZlibArchive.html#/s:ZFC13SWCompression11ZlibArchive9unarchiveFzT7archiveV10Foundation4Data_S2_":{"name":"unarchive(archive:)","abstract":"Unarchives Zlib archive.
","parent_name":"ZlibArchive"},"Classes/ZlibArchive.html#/s:ZFC13SWCompression11ZlibArchive7archiveFzT4dataV10Foundation4Data_S2_":{"name":"archive(data:)","abstract":"Archives data into Zlib archive.","parent_name":"ZlibArchive"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType4unixFMS1_S1_":{"name":"unix","abstract":"
One of many UNIX-like systems.
","parent_name":"FileSystemType"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType9macintoshFMS1_S1_":{"name":"macintosh","abstract":"Older Macintosh systems.
","parent_name":"FileSystemType"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType4ntfsFMS1_S1_":{"name":"ntfs","abstract":"File system used in Microsoft™®© Windows™®©.
","parent_name":"FileSystemType"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType7unknownFMS1_S1_":{"name":"unknown","abstract":"File system was unknown to the archiver.
","parent_name":"FileSystemType"},"Structs/GzipHeader/FileSystemType.html#/s:FOV13SWCompression10GzipHeader14FileSystemType5otherFMS1_S1_":{"name":"other","abstract":"File system is one of the rare systems.
","parent_name":"FileSystemType"},"Structs/GzipHeader/CompressionMethod.html#/s:FOV13SWCompression10GzipHeader17CompressionMethod7deflateFMS1_S1_":{"name":"deflate","abstract":"The only one supported compression method (Deflate).
","parent_name":"CompressionMethod"},"Structs/GzipHeader/CompressionMethod.html":{"name":"CompressionMethod","abstract":"Supported compression methods in GZip archive.
","parent_name":"GzipHeader"},"Structs/GzipHeader/FileSystemType.html":{"name":"FileSystemType","abstract":"Type of file system on which GZip archive was created.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader17compressionMethodOS0_17CompressionMethod":{"name":"compressionMethod","abstract":"Compression method of archive. Currently, always equals to .deflate.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader16modificationTimeGSqV10Foundation4Date_":{"name":"modificationTime","abstract":"The most recent modification time of the original file.","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader6osTypeOS0_14FileSystemType":{"name":"osType","abstract":"
Type of file system on which archivation took place.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader8fileNameGSqSS_":{"name":"fileName","abstract":"Name of the original file. If archive doesn’t contain file’s name, then nil.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader7commentGSqSS_":{"name":"comment","abstract":"Comment stored in archive. If archive doesn’t contain any comment, then nil.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:vV13SWCompression10GzipHeader10isTextFileSb":{"name":"isTextFile","abstract":"Check if file is likely to be text file or ASCII-file.
","parent_name":"GzipHeader"},"Structs/GzipHeader.html#/s:FV13SWCompression10GzipHeadercFzT7archiveV10Foundation4Data_S0_":{"name":"init(archive:)","abstract":"Initializes the structure with the values from the first ‘member’ of GZip archive.
","parent_name":"GzipHeader"},"Classes/GzipArchive/Member.html#/s:vVC13SWCompression11GzipArchive6Member6headerVS_10GzipHeader":{"name":"header","abstract":"GZip header of a member.
","parent_name":"Member"},"Classes/GzipArchive/Member.html#/s:vVC13SWCompression11GzipArchive6Member4dataV10Foundation4Data":{"name":"data","abstract":"Unarchived data from a member.
","parent_name":"Member"},"Classes/GzipArchive/Member.html":{"name":"Member","abstract":"Represents a member of multi-member of GZip archive.
","parent_name":"GzipArchive"},"Classes/GzipArchive.html#/s:ZFC13SWCompression11GzipArchive9unarchiveFzT7archiveV10Foundation4Data_S2_":{"name":"unarchive(archive:)","abstract":"Unarchives GZip archive.
","parent_name":"GzipArchive"},"Classes/GzipArchive.html#/s:ZFC13SWCompression11GzipArchive14multiUnarchiveFzT7archiveV10Foundation4Data_GSaVS0_6Member_":{"name":"multiUnarchive(archive:)","abstract":"Unarchives multi-member GZip archive.","parent_name":"GzipArchive"},"Classes/GzipArchive.html#/s:ZFC13SWCompression11GzipArchive7archiveFzT4dataV10Foundation4Data7commentGSqSS_8fileNameGSqSS_14writeHeaderCRCSb10isTextFileSb6osTypeGSqOVS_10GzipHeader14FileSystemType_16modificationTimeGSqVS1_4Date__S2_":{"name":"archive(data:comment:fileName:writeHeaderCRC:isTextFile:osType:modificationTime:)","abstract":"
Archives data into GZip archive, using various specified options.","parent_name":"GzipArchive"},"Classes/GzipArchive.html":{"name":"GzipArchive","abstract":"
Provides unarchive and archive functions for GZip archives.
"},"Structs/GzipHeader.html":{"name":"GzipHeader","abstract":"Represents a GZip archive’s header.
"},"Classes/ZlibArchive.html":{"name":"ZlibArchive","abstract":"Provides unarchive and archive functions for Zlib archives.
"},"Structs/ZlibHeader.html":{"name":"ZlibHeader","abstract":"Represents a Zlib archive’s header.
"},"Classes/XZArchive.html":{"name":"XZArchive","abstract":"Provides unarchive function for XZ archives.
"},"Classes/LZMA2.html#/s:ZFC13SWCompression5LZMA210decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"Decompresses data using LZMA2 algortihm.
","parent_name":"LZMA2"},"Classes/LZMA.html#/s:ZFC13SWCompression4LZMA10decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"Decompresses data using LZMA algortihm.
","parent_name":"LZMA"},"Classes/Deflate.html#/s:ZFC13SWCompression7Deflate10decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"Decompresses data using Deflate algortihm.
","parent_name":"Deflate"},"Classes/Deflate.html#/s:ZFC13SWCompression7Deflate8compressFzT4dataV10Foundation4Data_S2_":{"name":"compress(data:)","abstract":"Compresses data with Deflate algortihm.
","parent_name":"Deflate"},"Classes/BZip2.html#/s:ZFC13SWCompression5BZip210decompressFzT4dataV10Foundation4Data_S2_":{"name":"decompress(data:)","abstract":"Decompresses data using BZip2 algortihm.
","parent_name":"BZip2"},"Classes/BZip2.html":{"name":"BZip2","abstract":"Provides decompression function for BZip2 algorithm.
"},"Classes/Deflate.html":{"name":"Deflate","abstract":"Provides compression and decompression functions for Deflate algorithm.
"},"Classes/LZMA.html":{"name":"LZMA","abstract":"Provides decompression function for LZMA algorithm.
"},"Classes/LZMA2.html":{"name":"LZMA2","abstract":"Provides decompression function for LZMA2 algorithm.
"},"Compression.html":{"name":"Compression"},"Archives.html":{"name":"Archives"},"Containers.html":{"name":"Containers"},"Errors.html":{"name":"Errors"},"Protocols.html":{"name":"Protocols"}}
\ No newline at end of file
diff --git a/docs/docsets/SWCompression.docset/Contents/Resources/docSet.dsidx b/docs/docsets/SWCompression.docset/Contents/Resources/docSet.dsidx
index d9123cd2619b09f9c0e693c959e769fb72074cd6..3ef057dc35490aa70665139a2ba6d984b2f2e684 100644
GIT binary patch
delta 6060
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
diff --git a/docs/docsets/SWCompression.tgz b/docs/docsets/SWCompression.tgz
index 3c0dcaabc9bb9a24866023cb59ea67a28ccd5ac0..a22a20ce39a293ea868c263119014aa995231812 100644
GIT binary patch
delta 106019
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