diff HuffmanSet.cpp @ 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.cpp	Mon Sep 10 23:59:25 2012 +0200
+++ b/HuffmanSet.cpp	Mon Sep 10 23:59:46 2012 +0200
@@ -1,5 +1,8 @@
 #include "HuffmanString.hpp"
 
+#include "FastBitDecoder.hpp"
+#include "BitDecoder.hpp"
+
 #include "Exception/InvalidDataException.hpp"
 #include "Exception/NoSuchValueException.hpp"
 
@@ -48,14 +51,14 @@
   return retVal;
 }
 
-QString HuffmanSet::decode(const QBitArray& bits) const
+QString HuffmanSet::decode(const BitArray& bits) const
 {
   return lut->decode(bits);
 }
 
-QBitArray HuffmanSet::encode(const QString& string, const QMap<QString, QBitArray>& encoder)
+BitArray HuffmanSet::encode(const QString& string, const QMap<QString, BitArray>& encoder)
 {
-  QBitArray retVal;
+  BitArray retVal;
   QStringList c = chunks(string);
   foreach(const QString& fragment, c) {
     if (encoder.contains(fragment))
@@ -98,6 +101,10 @@
   }
   numInserts = 0;
   delete lut;
+  /*
+  lut = new FastBitDecoder(encoder);
+  delete newLut;
+  */
   lut = newLut;
   newStrings.clear();
 }
@@ -120,7 +127,7 @@
   key_t key = hash(str);
   if (!contains(key)) {
     try {
-      QBitArray bits = encode(str, encoder);
+      BitArray bits = encode(str, encoder);
       map.insert(key, bits);
     }
     catch (InvalidDataException& e) {