STL and Boost compatible edit distance functions for C++