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