view EditDistance.hpp @ 42:4c283daa42c7

Optimize diacritics removal.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Sun, 09 Sep 2012 16:09:52 +0200
parents f711ddb56ae7
children 7b7e84356b39
line wrap: on
line source

#ifndef EDITDISTANCE_HPP
#define EDITDISTANCE_HPP

#include "DBCache.hpp"
#include "OrderedPair.hpp"
#include "ThreadSafeLookup.hpp"
#include "UniqueString.hpp"

#include <QtCore/QHash>
#include <QtCore/QMap>
#include <QtCore/QString>

class EditDistance {
protected:
  //typedef ThreadSafeLookup<OrderedPair<QString>, int> cacheType;
  typedef DBCache<OrderedPair<UniqueString>, int, true> cacheType;
  //typedef QMap<OrderedPair<QString>, int> cacheType;
  //typedef QHash<OrderedPair<QString>, int> cacheType;
public:
  static int Compute(QString a, QString b, bool removeDiacritics = false);
  static void removeDiacriticsNoCopy(QString& in);
  static QString removeDiacritics(const QString& in);

  //static cacheType cache;
  static cacheType* cache;
};

#endif //EDITDISTANCE_HPP