userver: userver/utils/distances.hpp File Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
distances.hpp File Reference

Your opinion will help to improve our service

Leave a feedback >

Detailed Description

Distances between strings and nearest string suggestions.

Definition in file distances.hpp.

Go to the source code of this file.

#include <optional>
#include <string>
#include <string_view>
#include <type_traits>

Namespaces

namespace  utils
 Utilities.
 

Functions

std::size_t utils::GetLevenshteinDistance (std::string_view view1, std::string_view view2)
 Returns the Levenshtein distance between two strings.
 
std::size_t utils::GetDamerauLevenshteinDistance (std::string_view view1, std::string_view view2)
 Returns the Damerau-Levenshtein distance between two strings.
 
template<typename StringViews , typename DistanceFunc = std::size_t (*)(std::string_view, std::string_view)>
std::optional< std::string_view > utils::GetNearestString (const StringViews &strings, std::string_view key, std::size_t max_distance, DistanceFunc distance_func=&utils::GetLevenshteinDistance)
 Returns a nearest string for a key from a bunch of strings.
 
template<typename StringViews >
std::string utils::SuggestNearestName (const StringViews &strings, std::string_view key)
 Returns a suggestion for a key.