1 #pragma once 2 3 #include <cstdlib> 4 #include <glib.h> 5 6 class EditDistance 7 { 8 public: EditDistance()9 EditDistance() 10 { 11 currentelements = 2500; // It's enough for most conditions :-) 12 d = static_cast<int *>(malloc(sizeof(int) * currentelements)); 13 } ~EditDistance()14 ~EditDistance() 15 { 16 if (d != nullptr) 17 free(d); 18 } 19 EditDistance(const EditDistance &) = delete; 20 EditDistance &operator=(const EditDistance &) = delete; 21 int CalEditDistance(const gunichar *s, const gunichar *t, const int limit); 22 23 private: 24 int *d; 25 int currentelements; 26 }; 27