Files
SWCompression/docs/Classes/Deflate.html
T
Timofey Solomko c32cd538d6 Prepare for 3.3.0
2017-08-20 10:49:42 +03:00

361 lines
16 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Deflate Class Reference</title>
<link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
<link rel="stylesheet" type="text/css" href="../css/highlight.css" />
<meta charset="utf-8">
<script src="../js/jquery.min.js" defer></script>
<script src="../js/jazzy.js" defer></script>
<script src="../js/lunr.min.js" defer></script>
<script src="../js/typeahead.jquery.js" defer></script>
<script src="../js/jazzy.search.js" defer></script>
</head>
<body>
<a name="//apple_ref/swift/Class/Deflate" class="dashAnchor"></a>
<a title="Deflate Class Reference"></a>
<header class="header">
<p class="header-col header-col--primary">
<a class="header-link" href="../index.html">
SWCompression Docs
</a>
(100% documented)
</p>
<p class="header-col--secondary">
<form role="search" action="../search.json">
<input type="text" placeholder="Search documentation" data-typeahead>
</form>
</p>
<p class="header-col header-col--secondary">
<a class="header-link" href="https://github.com/tsolomko/SWCompression">
<img class="header-icon" src="../img/gh.png"/>
View on GitHub
</a>
</p>
</header>
<p class="breadcrumbs">
<a class="breadcrumb" href="../index.html">SWCompression Reference</a>
<img class="carat" src="../img/carat.png" />
Deflate Class Reference
</p>
<div class="content-wrapper">
<nav class="navigation">
<ul class="nav-groups">
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Compression.html">Compression</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/BZip2.html">BZip2</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/Deflate.html">Deflate</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/LZMA.html">LZMA</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/LZMA2.html">LZMA2</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Archives.html">Archives</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/GzipArchive.html">GzipArchive</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/GzipArchive/Member.html"> Member</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GzipHeader.html">GzipHeader</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GzipHeader/CompressionMethod.html"> CompressionMethod</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/GzipHeader/FileSystemType.html"> FileSystemType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/XZArchive.html">XZArchive</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ZlibArchive.html">ZlibArchive</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/ZlibHeader.html">ZlibHeader</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/ZlibHeader/CompressionMethod.html"> CompressionMethod</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/ZlibHeader/CompressionLevel.html"> CompressionLevel</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Containers.html">Containers</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SevenZipContainer.html">SevenZipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/SevenZipEntry.html">SevenZipEntry</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SevenZipEntryInfo.html">SevenZipEntryInfo</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SevenZipEntryInfo/Permissions.html"> Permissions</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SevenZipEntryInfo/DosAttributes.html"> DosAttributes</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Structs/SevenZipEntryInfo/UnixType.html"> UnixType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/TarContainer.html">TarContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/TarEntry.html">TarEntry</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/TarEntry/EntryType.html"> EntryType</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ZipContainer.html">ZipContainer</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Classes/ZipEntry.html">ZipEntry</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Errors.html">Errors</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/BZip2Error.html">BZip2Error</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/DeflateError.html">DeflateError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/LZMAError.html">LZMAError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/LZMA2Error.html">LZMA2Error</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/SevenZipError.html">SevenZipError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/TarError.html">TarError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ZipError.html">ZipError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/GzipError.html">GzipError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/XZError.html">XZError</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Enums/ZlibError.html">ZlibError</a>
</li>
</ul>
</li>
<li class="nav-group-name">
<a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
<ul class="nav-group-tasks">
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/Archive.html">Archive</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/Container.html">Container</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/ContainerEntry.html">ContainerEntry</a>
</li>
<li class="nav-group-task">
<a class="nav-group-task-link" href="../Protocols/DecompressionAlgorithm.html">DecompressionAlgorithm</a>
</li>
</ul>
</li>
</ul>
</nav>
<article class="main-content">
<section class="section">
<div class="section-content">
<h1>Deflate</h1>
<div class="declaration">
<div class="language">
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="kt">Deflate</span><span class="p">:</span> <span class="kt"><a href="../Protocols/DecompressionAlgorithm.html">DecompressionAlgorithm</a></span></code></pre>
</div>
</div>
<p>Provides compression and decompression functions for Deflate algorithm.</p>
</div>
</section>
<section class="section">
<div class="section-content">
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:ZFC13SWCompression7Deflate10decompressFzT4dataV10Foundation4Data_S2_"></a>
<a name="//apple_ref/swift/Method/decompress(data:)" class="dashAnchor"></a>
<a class="token" href="#/s:ZFC13SWCompression7Deflate10decompressFzT4dataV10Foundation4Data_S2_">decompress(data:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Decompresses <code>data</code> using Deflate algortihm.</p>
<p>If <code>data</code> is not actually compressed with Deflate, <code><a href="../Enums/DeflateError.html">DeflateError</a></code> will be thrown.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>This function is specification compliant.</p>
</div>
<div class="aside aside-throws">
<p class="aside-title">Throws</p>
<p><code><a href="../Enums/DeflateError.html">DeflateError</a></code> if unexpected byte (bit) sequence was encountered in <code>data</code>.
It may indicate that either data is damaged or it might not be compressed with Deflate at all.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">decompress</span><span class="p">(</span><span class="nv">data</span><span class="p">:</span> <span class="kt">Data</span><span class="p">)</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt">Data</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>data</em>
</code>
</td>
<td>
<div>
<p>Data compressed with Deflate.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div>
<h4>Return Value</h4>
<p>Decompressed data.</p>
</div>
<div class="slightly-smaller">
<a href="https://github.com/tsolomko/SWCompression/tree/v3.3.0/Sources/Deflate.swift#L58-L62">Show on GitHub</a>
</div>
</section>
</div>
</li>
</ul>
</div>
<div class="task-group">
<ul class="item-container">
<li class="item">
<div>
<code>
<a name="/s:ZFC13SWCompression7Deflate8compressFzT4dataV10Foundation4Data_S2_"></a>
<a name="//apple_ref/swift/Method/compress(data:)" class="dashAnchor"></a>
<a class="token" href="#/s:ZFC13SWCompression7Deflate8compressFzT4dataV10Foundation4Data_S2_">compress(data:)</a>
</code>
</div>
<div class="height-container">
<div class="pointer-container"></div>
<section class="section">
<div class="pointer"></div>
<div class="abstract">
<p>Compresses <code>data</code> with Deflate algortihm.</p>
<p>If during compression something goes wrong <code><a href="../Enums/DeflateError.html">DeflateError</a></code> will be thrown.</p>
<div class="aside aside-note">
<p class="aside-title">Note</p>
<p>Currently, SWCompression creates only one block for all data
and the block can either be uncompressed or compressed with static Huffman encoding.
Choice of one block type or the other depends on bytes&rsquo; statistics of data.
However, if data size is greater than 65535 (the maximum value stored in 2 bytes),
then static Huffman block will be created.</p>
</div>
</div>
<div class="declaration">
<h4>Declaration</h4>
<div class="language">
<p class="aside-title">Swift</p>
<pre class="highlight"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">compress</span><span class="p">(</span><span class="nv">data</span><span class="p">:</span> <span class="kt">Data</span><span class="p">)</span> <span class="k">throws</span> <span class="o">-&gt;</span> <span class="kt">Data</span></code></pre>
</div>
</div>
<div>
<h4>Parameters</h4>
<table class="graybox">
<tbody>
<tr>
<td>
<code>
<em>data</em>
</code>
</td>
<td>
<div>
<p>Data to compress.</p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="slightly-smaller">
<a href="https://github.com/tsolomko/SWCompression/tree/v3.3.0/Sources/DeflateCompression.swift#L23-L74">Show on GitHub</a>
</div>
</section>
</div>
</li>
</ul>
</div>
</div>
</section>
</article>
</div>
<section class="footer">
<p>© 2017 Timofey Solomko</p>
<p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.8.3</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
</section>
</body>
</div>
</html>