Mercurial > dedupe
diff HuffmanSet.hpp @ 49:f8d0ea827db3
Use BitArray.
| author | Tom Fredrik Blenning Klaussen <bfg@blenning.no> |
|---|---|
| date | Mon, 10 Sep 2012 23:59:46 +0200 |
| parents | f711ddb56ae7 |
| children | 19b2a2d98788 |
line wrap: on
line diff
--- a/HuffmanSet.hpp Mon Sep 10 23:59:25 2012 +0200 +++ b/HuffmanSet.hpp Mon Sep 10 23:59:46 2012 +0200 @@ -1,23 +1,26 @@ #ifndef HUFFMANSET_HPP #define HUFFMANSET_HPP -#include "BitDecoder.hpp" - -#include <QtCore/QBitArray> #include <QtCore/QMap> #include <QtCore/QString> #include <QtCore/QStringList> +#include "BitArray.hpp" + +class BitDecoder; +class FastBitDecoder; + class HuffmanSet { public: typedef uint key_t; private: QMap<key_t, QString> newStrings; - QMap<key_t, QBitArray> map; - QMap<QString, QBitArray> encoder; + QMap<key_t, BitArray> map; + QMap<QString, BitArray> encoder; uint cutoff; uint numInserts; + //FastBitDecoder* lut; BitDecoder* lut; @@ -26,8 +29,8 @@ 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); + QString decode(const BitArray& bits) const; + static BitArray encode(const QString& string, const QMap<QString, BitArray>& encoder); void rebuild(); bool contains(key_t key) const; uint totalElements() const;
