|
| Patrick's Programming Library Version 7.0.0 - Dokumentation |
Komprimierung und Dekomprimierung von Daten. Mehr ...
Öffentliche Typen | |
| enum | Algorithm { Algo_NONE =0, Algo_ZLIB, Algo_BZIP2, Unknown =256 } |
| Unterstütze Komprimierungsmethoden. Mehr ... | |
| enum | Level { Level_Fast =0, Level_Normal, Level_Default, Level_High } |
| Kompressionsrate. Mehr ... | |
| enum | Prefix { Prefix_None =0, Prefix_V1, Prefix_V2 } |
| Prefix voranstellen. Mehr ... | |
Öffentliche Methoden | |
| Compression () | |
| Konstruktor der Klasse. Mehr ... | |
| Compression (Algorithm method, Level level=Level_Default) | |
| Konstruktor mit Initialisierung der Komprimierungsmethode. Mehr ... | |
| ~Compression () | |
| Destruktor der Klasse. Mehr ... | |
| void | compress (void *dst, size_t *dstlen, const void *src, size_t size, Algorithm a=Unknown) |
| Komprimierung eines Speicherbereiches in einen anderen. Mehr ... | |
| void | compress (ByteArray &out, const void *ptr, size_t size) |
| Komprimierung eines Speicherbereiches in ein ByteArray Objekt. Mehr ... | |
| void | compress (ByteArray &out, const ByteArrayPtr &in) |
| Komprimierung eines Speicherbereichs in ein CMemory-Objekt. Mehr ... | |
| ByteArrayPtr | compress (const void *ptr, size_t size) |
| Komprimierung eines Speicherbereiches. Mehr ... | |
| ByteArrayPtr | compress (const ByteArrayPtr &in) |
| Komprimierung eines Speicherbereiches. Mehr ... | |
| void | init (Algorithm method, Level level=Level_Default) |
| Gewünschte Komprimierungsmethode einstellen. Mehr ... | |
| void | uncompress (void *dst, size_t *dstlen, const void *src, size_t srclen, Algorithm a=Unknown) |
| Dekomprimierung eines Speicherbereiches in einen anderen. Mehr ... | |
| void | uncompress (ByteArray &out, const ByteArrayPtr &data) |
| Dekomprimierung eines ByteArrayPtr Objektes. Mehr ... | |
| void | uncompress (ByteArray &out, const void *data, size_t size=0) |
| Dekomprimierung eines Speicherbereichs in ein CBinary Objekt. Mehr ... | |
| ByteArrayPtr | uncompress (const void *ptr, size_t size) |
| Dekomprimierung eines Speicherbereichs in ein CBinary Objekt. Mehr ... | |
| ByteArrayPtr | uncompress (const ByteArrayPtr &in) |
| Dekomprimierung eines Speicherbereichs in ein CBinary Objekt. Mehr ... | |
| void | usePrefix (Prefix prefix) |
| Verwendung eines Prefix beim Komprimieren. Mehr ... | |
Private Methoden | |
| void | doBzip2 (void *dst, size_t *dstlen, const void *src, size_t size) |
| Bzip2-Komprimierung verwenden. Mehr ... | |
| void | doNone (void *dst, size_t *dstlen, const void *src, size_t size) |
| Keine Komprimierung verwenden. Mehr ... | |
| void | doZlib (void *dst, size_t *dstlen, const void *src, size_t size) |
| Zlib-Komprimierung verwenden. Mehr ... | |
| void | unBzip2 (void *dst, size_t *dstlen, const void *src, size_t srclen) |
| Bzip2-Komprimierte Daten entpacken. Mehr ... | |
| void | unNone (void *dst, size_t *dstlen, const void *src, size_t srclen) |
| Speicherbereich ohne Dekompression kopieren. Mehr ... | |
| void | unZlib (void *dst, size_t *dstlen, const void *src, size_t srclen) |
| Zlib-Komprimierte Daten entpacken. Mehr ... | |
Private Attribute | |
| Algorithm | aaa |
| Enthält die durch Init oder den Konstruktor eingestellten Kompressionsmethode. Mehr ... | |
| void * | buffer |
| Interner Speicher, der nach Aufruf von Compress die komprimierten Daten enthält. Mehr ... | |
| Level | lll |
| Enthält den durch Init oder den Konstruktor eingestellten Komprimierungslevel. Mehr ... | |
| Prefix | prefix |
| Flag, ob und welcher Prefix beim Komprimieren vorangestellt wird. Mehr ... | |
| void * | uncbuffer |
| Interner Speicher, der nach Aufruf von Uncompress die entpackten Daten enthält. Mehr ... | |
Verwandte Funktionen | |
(Es handelt sich hierbei nicht um Elementfunktionen.) | |
| void | CompressBZip2 (ByteArray &out, const ByteArrayPtr &in, Compression::Level level) |
| Daten mit BZip2 komprimieren. Mehr ... | |
| void | CompressZlib (ByteArray &out, const ByteArrayPtr &in, Compression::Level level) |
| Daten mit ZLib komprimieren. Mehr ... | |
| void | Uncompress (ByteArray &out, const ByteArrayPtr &in) |
| Daten dekomprimieren. Mehr ... | |
Über die Funktion Compression::UsePrefix kann eingestellt werden, ob bei der Komprimierung noch ein Header vorangestellt werden soll oder nicht. Der Header hat den Vorteil, dass man ihm die Komprimierungs- Methode und die Länge der ursprünglichen unkomprimierten Daten entnehmen kann. Nicht alle Variationen von Compress und Uncompress unterstützen den Prefix, daher ist bei der jeweiligen Funktion vermerkt, ob der Prefix beachtet wird oder nicht.
Es gibt zwei Versionen des Headers:
Byte 0: Kompressions-Flag (siehe oben)
Bits 0-2: Kompressionsart
0=keine
1=Zlib
2=Bzip2
Bits 3-7: unbenutzt, müssen 0 sein
Byte 1: Bytes Unkomprimiert (4 Byte)
Byte 5: Bytes Komprimiert (4 Byte)
Der erste Wert gibt an, wieviele Bytes der Datenblock unkomprimiert benötigt, der zweite gibt an, wie gross er komprimiert ist. Nach dem Header folgen dann soviele Bytes, wie in "Bytes Komprimiert" angegeben ist.
Byte 0: Kompression-Flag
Bits 0-2: Kompressionsart
0=keine
1=Zlib
2=Bzip2
Bit 3: Headerversion
Bits 4-5: Bytezahl Uncompressed Value
0=1 Byte, 1=2 Byte, 2=3 Byte, 3=4 Byte
Bits 6-7: Bytezahl Compressed Value
0=1 Byte, 1=2 Byte, 2=3 Byte, 3=4 Byte
Byte 1: Bytes Unkomprimiert (1-4 Byte)
Byte n: Bytes Komprimiert (1-4 Byte)
Bei Version 2 folgen eine variable Anzahl von Bytes für die beiden Werte "Bytes Unkomprimiert" und "Bytes Komprimiert". Wieviele Bytes das sind, ist jeweils den Bits 4-5 und 6-7 des Kompressions-Flags zu entnehmen. Bei kleinen Datenblöcken, die unkomprimiert weniger als 255 Bytes benötigen, schrumpft der Prefix somit von 9 auf 3 Byte im Vergleich zum Version 1 Prefix.
Die Klasse unterstützt folgende Komprimierungsmethoden:
| Aufzählungswerte | |
|---|---|
| Algo_NONE |
Keine Komprimierung. Bei Verwendung dieser Methode werden die Daten einfach nur unverändert kopiert. |
| Algo_ZLIB |
Zlib ist eine freie Programmbibliothek von Jean-Loup Gailly und Mark Adler (http://www.zlib.net/). Sie verwendet wie gzip den Deflate-Algorithmus um den Datenstrom blockweise zu komprimieren. Die ausgegebenen Blöcke werden durch Adler-32-Prüfsummen geschützt. Das Format ist in den RFC 1950, RFC 1951 und RFC 1952 definiert und gilt quasi als defakto Standard im Unix- und Netzwerkbereich. |
| Algo_BZIP2 |
bzip2 ist ein frei verfügbares Komprimierungsprogramm zur verlustfreien Kompression von Dateien, entwickelt von Julian Seward. Es ist frei von jeglichen patentierten Algorithmen und wird unter einer BSD-ähnlichen Lizenz vertrieben. Die Kompression mit bzip2 ist oft effizienter, aber meist erheblich langsamer als die Kompression mit Zlib. |
| Unknown |
Wird als Defaulteinstellung beim Dekomprimieren verwendet und hat keine eigentliche Funktion. |
Es werden verschiedene Einstellungen unterstützt, die Einfluß auf die Kompressionsrate aber auch Speicherverbrauch und Geschwindigkeit haben:
Verwendung eines Prefix, der den komprimierten Daten vorangestellt wird. Siehe dazu auch Komprimierungsprefix
| ppl7::Compression::Compression | ( | ) |
| ppl7::Compression::Compression | ( | Algorithm | method, |
| Level | level = Level_Default |
||
| ) |
| method | Komprimierungsmethode (siehe Compression::Algorithm) |
| level | Komprimierungslevel (siehe Compression::Level) |
| ppl7::Compression::~Compression | ( | ) |
| void ppl7::Compression::compress | ( | void * | dst, |
| size_t * | dstlen, | ||
| const void * | src, | ||
| size_t | srclen, | ||
| Algorithm | a = Unknown |
||
| ) |
src mit einer Länge von srclen Bytes komprimiert und das Ergebnis mit einer maximalen Länge von dstlen Bytes ab der Speicherposition dst gespeichert. Der Zielspeicher dst muss vorab allokiert worden sein und groß genug sein, um die komprimierten Daten aufzunehmen. Wieviel Bytes tatsächlich verbraucht wurden, ist nach erfolgreichem Aufruf der Variablen dstlen zu entnehmen. | [in,out] | dst | Pointer auf den Speicherbereich, in dem die komprimierten Daten abgelegt werden sollen |
| [in,out] | dstlen | Pointer auf eine Variable, die bei Aufruf die Größe des Zielspeicherbereichs dst enthält und nach erfolgreichem Aufruf Anzahl tatsächlich benötigter Bytes |
| [in] | src | Pointer auf den Speicherbereich, den komprimiert werden soll |
| [in] | srclen | Länge des zu komprimierenden Speicherbereichs |
| NullPointerException | Einer der übergebenen Parameter (dst, dstlen oder src) zeigt auf NULL |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der Puffer dst ist zu klein, um die komprimierten Daten aufzunehmen. Der Parameter dstlen enthält nach Auftreten der Exception die tatsächlich benötigten Bytes. |
| CompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht komprimiert werden |
| void ppl7::Compression::compress | ( | ByteArray & | out, |
| const void * | ptr, | ||
| size_t | size | ||
| ) |
ptr mit einer Länge von size Bytes komprimiert und das Ergebnis im ByteArray-Objekt out gespeichert. Der optionale Parameter copy bestimmt, ob in CBinary eine Kopie der komprimierten Daten abgelegt wird oder nur ein Pointer auf den internen Buffer der Compression-Klasse. | [out] | out | ByteArray-Objekt, in dem die komprimierten Daten gespeichert werden sollen |
| [in] | ptr | Pointer auf den Speicherbereich, den komprimiert werden soll |
| [in] | size | Länge des zu komprimierenden Speicherbereichs |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der intern zum komprimieren verwendete Puffer ist zu klein. Sollte dieser Fall auftreten, handelt es sich um einen Bug oder die zu komprimierenden Daten lassen sich nicht komprimieren. |
| CompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht komprimiert werden |
| void ppl7::Compression::compress | ( | ByteArray & | out, |
| const ByteArrayPtr & | in | ||
| ) |
in referenzierte Speicher komprimiert und das Ergebnis in out gespeichert. | [out] | out | ByteArray-Objekt, in dem die komprimierten Daten gespeichert werden sollen |
| [in] | in | Ein von ByteArray oder ByteArrayPtr abgeleitetes Objekt, das den zu komprimierenden Speicherbereich repräsentiert. |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der intern zum komprimieren verwendete Puffer ist zu klein. Sollte dieser Fall auftreten, handelt es sich um einen Bug oder die zu komprimierenden Daten lassen sich nicht komprimieren. |
| CompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht komprimiert werden |
| ByteArrayPtr ppl7::Compression::compress | ( | const void * | ptr, |
| size_t | size | ||
| ) |
ptr mit einer Länge von size Bytes komprimiert und das Ergebnis als ByteArrayPtr-Objekt zurückgegeben. Dieses enthält eine Referenz auf Speicherbereich der Compression-Klasse, die nur solange gültig ist, wie die Compression-Klasse existiert und keine neue (De-)Komprimierung durchgeführt wurde. | [in] | ptr | Pointer auf den Speicherbereich, den komprimiert werden soll |
| [in] | size | Länge des zu komprimierenden Speicherbereichs |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der intern zum komprimieren verwendete Puffer ist zu klein. Sollte dieser Fall auftreten, handelt es sich um einen Bug oder die zu komprimierenden Daten lassen sich nicht komprimieren. |
| CompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht komprimiert werden |
| ByteArrayPtr ppl7::Compression::compress | ( | const ByteArrayPtr & | in | ) |
in referenzierte Speicherbereich komprimiert und das Ergebnis als ByteArrayPtr-Objekt zurückgegeben. Dieses enthält eine Referenz auf Speicherbereich der Compression-Klasse, die nur solange gültig ist, wie die Compression-Klasse existiert und keine neue (De-)Komprimierung durchgeführt wurde. | [in] | ptr | Pointer auf den Speicherbereich, den komprimiert werden soll |
| [in] | size | Länge des zu komprimierenden Speicherbereichs |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der intern zum komprimieren verwendete Puffer ist zu klein. Sollte dieser Fall auftreten, handelt es sich um einen Bug oder die zu komprimierenden Daten lassen sich nicht komprimieren. |
| CompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht komprimiert werden |
|
private |
src mit BZip2 komprimiert und in dst abgelegt.| [in,out] | dst | Pointer auf den Speicherbereich, in dem die komprimierten Daten abgelegt werden sollen |
| [in,out] | dstlen | Pointer auf eine Variable, die bei Aufruf die Größe des Zielspeicherbereichs dst enthält und nach erfolgreichem Aufruf Anzahl tatsächlich benötigter Bytes |
| [in] | src | Pointer auf den Speicherbereich, den komprimiert werden soll |
| [in] | size | Länge des zu komprimierenden Speicherbereichs |
| UnsupportedFeatureException | Bzip2 wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der Puffer dst ist zu klein, um die komprimierten Daten aufzunehmen. Der Parameter dstlen enthält nach Auftreten der Exception die tatsächlich benötigten Bytes. |
| CompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht komprimiert werden |
|
private |
src nach dst zu kopieren.| [in,out] | dst | Pointer auf den Speicherbereich, in dem die komprimierten Daten abgelegt werden sollen |
| [in,out] | dstlen | Pointer auf eine Variable, die bei Aufruf die Größe des Zielspeicherbereichs dst enthält und nach erfolgreichem Aufruf Anzahl tatsächlich benötigter Bytes |
| [in] | src | Pointer auf den Speicherbereich, den komprimiert werden soll |
| [in] | size | Länge des zu komprimierenden Speicherbereichs |
| BufferTooSmallException | Der Puffer dst ist zu klein, um die komprimierten Daten aufzunehmen. Der Parameter dstlen enthält nach Auftreten der Exception die tatsächlich benötigten Bytes. |
|
private |
src mit Zlib komprimiert und in dst abgelegt.| [in,out] | dst | Pointer auf den Speicherbereich, in dem die komprimierten Daten abgelegt werden sollen |
| [in,out] | dstlen | Pointer auf eine Variable, die bei Aufruf die Größe des Zielspeicherbereichs dst enthält und nach erfolgreichem Aufruf Anzahl tatsächlich benötigter Bytes |
| [in] | src | Pointer auf den Speicherbereich, den komprimiert werden soll |
| [in] | size | Länge des zu komprimierenden Speicherbereichs |
| UnsupportedFeatureException | Zlib wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der Puffer dst ist zu klein, um die komprimierten Daten aufzunehmen. Der Parameter dstlen enthält nach Auftreten der Exception die tatsächlich benötigten Bytes. |
| CompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht komprimiert werden |
| void ppl7::Compression::init | ( | Algorithm | method, |
| Level | level = Level_Default |
||
| ) |
| method | Komprimierungsmethode (siehe Compression::Algorithm) |
| level | Komprimierungslevel (siehe Compression::Level) |
|
private |
| [in,out] | dst | Pointer auf den Speicherbereich, in dem die dekomprimierten Daten abgelegt werden sollen |
| [in,out] | dstlen | Pointer auf eine Variable, die bei Aufruf die Größe des Zielspeicherbereichs dst enthält und nach erfolgreichem Aufruf Anzahl tatsächlich benötigter Bytes |
| [in] | src | Pointer auf den Anfang des Speicherbereichs, der die komprimierten Daten enthält |
| [in] | srclen | Länge der komprimierten Daten |
| UnsupportedFeatureException | Bzip2 wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der Puffer dst ist zu klein, um die komprimierten Daten aufzunehmen. Der Parameter dstlen enthält nach Auftreten der Exception die tatsächlich benötigten Bytes. |
| CorruptedDataException | Die zu dekomprimierenden Daten sind korrupt, unvollständig oder nicht mit erwarteten Algorithmus komprimiert. |
| DecompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht dekomprimiert werden |
| void ppl7::Compression::uncompress | ( | void * | dst, |
| size_t * | dstlen, | ||
| const void * | src, | ||
| size_t | srclen, | ||
| Algorithm | a = Unknown |
||
| ) |
src mit einer Länge von srclen Bytes dekomprimiert und das entpackte Ergebnis mit einer maximalen Länge von dstlen Bytes ab der Speicherposition dst gespeichert. Der Zielspeicher dst muss vorab allokiert worden sein und groß genug sein, um die unkomprimierten Daten aufzunehmen. Wieviel Bytes tatsächlich verbraucht wurden, ist nach erfolgreichem Aufruf der Variablen dstlen zu entnehmen. | [in,out] | dst | Pointer auf den Speicherbereich, in dem die dekomprimierten Daten abgelegt werden sollen |
| [in,out] | dstlen | Pointer auf eine Variable, die bei Aufruf die Größe des Zielspeicherbereichs dst enthält und nach erfolgreichem Aufruf Anzahl tatsächlich benötigter Bytes |
| [in] | src | Pointer auf den Anfang des Speicherbereichs, der die komprimierten Daten enthält |
| [in] | srclen | Länge der komprimierten Daten |
| NullPointerException | Einer der übergebenen Parameter (dst, dstlen oder src) zeigt auf NULL |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der Puffer dst ist zu klein, um die dekomprimierten Daten aufzunehmen. Der Parameter dstlen enthält nach Auftreten der Exception die tatsächlich benötigten Bytes. |
| DecompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht dekomprimiert werden |
| void ppl7::Compression::uncompress | ( | ByteArray & | out, |
| const ByteArrayPtr & | object | ||
| ) |
object entpackt und das Ergebnis im ByteArray-Objekt out gespeichert. | [out] | out | ByteArray-Objekt, in dem die entpackten Daten gespeichert werden sollen |
| [in] | object | ByteArrayPtr-Objekt, das auf die komprimierten Daten zeigt. |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der intern zum komprimieren verwendete Puffer ist zu klein. Sollte dieser Fall auftreten, handelt es sich um einen Bug. |
| DecompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht dekomprimiert werden |
| void ppl7::Compression::uncompress | ( | ByteArray & | out, |
| const void * | ptr, | ||
| size_t | size = 0 |
||
| ) |
ptr angegebene Speicherbereich mit einer Länge von size Bytes dekomprimiert und die entpackten Daten im CBinary-Objekt out gespeichert. | [out] | out | CBinary-Objekt, in dem die entpackten Daten gespeichert werden sollen |
| [in] | ptr | Pointer auf den Beginn des zu entpackenden Speicherbereichs |
| [in] | size | Größe des komprimierten Speicherbereichs |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der intern zum komprimieren verwendete Puffer ist zu klein. Sollte dieser Fall auftreten, handelt es sich um einen Bug. |
| DecompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht dekomprimiert werden |
| ByteArrayPtr ppl7::Compression::uncompress | ( | const void * | ptr, |
| size_t | size | ||
| ) |
ptr angegebene Speicherbereich mit einer Länge von size Bytes dekomprimiert und die entpackten Daten als ByteArrayPtr zurückgegeben. | [in] | ptr | Pointer auf den Beginn des zu entpackenden Speicherbereichs |
| [in] | size | Größe des komprimierten Speicherbereichs |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der intern zum komprimieren verwendete Puffer ist zu klein. Sollte dieser Fall auftreten, handelt es sich um einen Bug. |
| DecompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht dekomprimiert werden |
| ByteArrayPtr ppl7::Compression::uncompress | ( | const ByteArrayPtr & | in | ) |
ptr angegebene Speicherbereich mit einer Länge von size Bytes dekomprimiert und die entpackten Daten als ByteArrayPtr zurückgegeben. | [in] | in | Referenz auf den zu dekomprimierenden Speicher |
| UnsupportedFeatureException | Der eingestellte Komprimier-Algorithmus wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der intern zum komprimieren verwendete Puffer ist zu klein. Sollte dieser Fall auftreten, handelt es sich um einen Bug. |
| DecompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht dekomprimiert werden |
|
private |
| [in,out] | dst | Pointer auf den Speicherbereich, in dem die dekomprimierten Daten abgelegt werden sollen |
| [in,out] | dstlen | Pointer auf eine Variable, die bei Aufruf die Größe des Zielspeicherbereichs dst enthält und nach erfolgreichem Aufruf Anzahl tatsächlich benötigter Bytes |
| [in] | src | Pointer auf den Anfang des Speicherbereichs, der die komprimierten Daten enthält |
| [in] | srclen | Länge der komprimierten Daten |
| BufferTooSmallException | Der Puffer dst ist zu klein, um die komprimierten Daten aufzunehmen. Der Parameter dstlen enthält nach Auftreten der Exception die tatsächlich benötigten Bytes. |
|
private |
| [in,out] | dst | Pointer auf den Speicherbereich, in dem die dekomprimierten Daten abgelegt werden sollen |
| [in,out] | dstlen | Pointer auf eine Variable, die bei Aufruf die Größe des Zielspeicherbereichs dst enthält und nach erfolgreichem Aufruf Anzahl tatsächlich benötigter Bytes |
| [in] | src | Pointer auf den Anfang des Speicherbereichs, der die komprimierten Daten enthält |
| [in] | srclen | Länge der komprimierten Daten |
| UnsupportedFeatureException | Zlib wird nicht unterstützt |
| OutOfMemoryException | Nicht genug Speicher verfügbar |
| BufferTooSmallException | Der Puffer dst ist zu klein, um die komprimierten Daten aufzunehmen. Der Parameter dstlen enthält nach Auftreten der Exception die tatsächlich benötigten Bytes. |
| CorruptedDataException | Die zu dekomprimierenden Daten sind korrupt, unvollständig oder nicht mit erwarteten Algorithmus komprimiert. |
| DecompressionFailedException | Ein unerwarteter Fehler ist aufgetreten, die Daten konnten nicht dekomprimiert werden |
| void ppl7::Compression::usePrefix | ( | Prefix | prefix | ) |
| prefix | Der gewünschte Prefix |
|
private |
Enthält die durch Init oder den Konstruktor eingestellten Kompressionsmethode
|
private |
Interner Speicher, der nach Aufruf von Compress die komprimierten Daten enthält
|
private |
Enthält den durch Init oder den Konstruktor eingestellten Komprimierungslevel
|
private |
Flag, ob und welcher Prefix beim Komprimieren vorangestellt wird
|
private |
Interner Speicher, der nach Aufruf von Uncompress die entpackten Daten enthält