libmoost
/home/mhx/git/github/libmoost/include/moost/string/levenshtein.hpp File Reference
#include <vector>
#include <string>
#include <stdexcept>
#include <climits>
Include dependency graph for levenshtein.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  moost
 

Creates a unique temporary directory; removed on scope exit.


namespace  moost::string

Functions

template<class RandomAccessIterator >
int moost::string::levenshtein (RandomAccessIterator first1, RandomAccessIterator last1, RandomAccessIterator first2, RandomAccessIterator last2, std::vector< std::vector< int > > &d)
 Calculates levenshtein distance between two iterator ranges. The levenshtein distance between two strings is given by the minimum number of operations needed to transform one string into the other, where an operation is an insertion, deletion, or substitution of a single character.
template<class RandomAccessIterator >
int moost::string::levenshtein (RandomAccessIterator first1, RandomAccessIterator last1, RandomAccessIterator first2, RandomAccessIterator last2)
 Calculates levenshtein distance between two iterator ranges. The levenshtein distance between two strings is given by the minimum number of operations needed to transform one string into the other, where an operation is an insertion, deletion, or substitution of a single character.
int moost::string::levenshtein (const std::string &first, const std::string &second, std::vector< std::vector< int > > &d)
 Calculates levenshtein distance between two containers of two strings. The levenshtein distance between two strings is given by the minimum number of operations needed to transform one string into the other, where an operation is an insertion, deletion, or substitution of a single character.
int moost::string::levenshtein (const std::string &first, const std::string &second)
 Calculates levenshtein distance between two containers of any type, such as strings. The levenshtein distance between two strings is given by the minimum number of operations needed to transform one string into the other, where an operation is an insertion, deletion, or substitution of a single character.
template<class RandomAccessIterator >
int moost::string::fast_levenshtein (RandomAccessIterator first1, RandomAccessIterator last1, RandomAccessIterator first2, RandomAccessIterator last2, int thresh=INT_MAX)
 Space and time efficient simple levenshtein distance between two iterator ranges.
int moost::string::fast_levenshtein (const std::string &first, const std::string &second, int thresh=INT_MAX)
 Space and time efficient simple levenshtein distance between two iterator ranges.