Mercurial > dedupe
view HuffmanSet.hpp @ 40:f711ddb56ae7
Sort up includes.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Fri, 07 Sep 2012 13:32:33 +0200 |
| parents | 3bcdb8bb6914 |
| children | f8d0ea827db3 |
line wrap: on
line source
#ifndef HUFFMANSET_HPP #define HUFFMANSET_HPP #include "BitDecoder.hpp" #include <QtCore/QBitArray> #include <QtCore/QMap> #include <QtCore/QString> #include <QtCore/QStringList> class HuffmanSet { public: typedef uint key_t; private: QMap<key_t, QString> newStrings; QMap<key_t, QBitArray> map; QMap<QString, QBitArray> encoder; uint cutoff; uint numInserts; BitDecoder* lut; public: HuffmanSet(); void setCutoff(uint cutoff); static QStringList chunks(const QString& str); BitDecoder* createLut(const QMap<QString, uint>& freqTable); QString decode(const QBitArray& bits) const; static QBitArray encode(const QString& string, const QMap<QString, QBitArray>& encoder); void rebuild(); bool contains(key_t key) const; uint totalElements() const; key_t hash(const QString& str); key_t insert(const QString& str); QString value(key_t key) const; }; #endif //HUFFMANSET_HPP
