Program Listing for File EditDistance.h
↰ Return to documentation for file (ADS/string/EditDistance.h)
/*--------------------------------------------------------------------------*/
/*-------------------------- File EditDistance.h ---------------------------*/
/*--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------*/
/*----------------------------- DEFINITIONS --------------------------------*/
/*--------------------------------------------------------------------------*/
#ifndef __ADS_EditDistance
#define __ADS_EditDistance
/* self-identification: #endif constant */
/*--------------------------------------------------------------------------*/
/*------------------------------ INCLUDES ----------------------------------*/
/*--------------------------------------------------------------------------*/
#include "ADS/Contract.h"
#include <cstddef>
#include <cstdint>
#include <string_view>
#include <utility>
#include <vector>
/*--------------------------------------------------------------------------*/
/*--------------------------- NAMESPACE ------------------------------------*/
/*--------------------------------------------------------------------------*/
namespace ADS {
[[nodiscard]] inline std::size_t levenshtein( std::string_view a ,
std::string_view b );
[[nodiscard]] inline std::size_t levenshtein( std::string_view a ,
std::string_view b ,
std::size_t k );
[[nodiscard]] inline std::size_t lcsLength( std::string_view a ,
std::string_view b );
[[nodiscard]] inline std::vector< std::pair< std::size_t , std::size_t > >
approximateMatches( std::string_view T , std::string_view P ,
std::size_t k );
/*--------------------------------------------------------------------------*/
} // end( namespace ADS )
/*--------------------------------------------------------------------------*/
/*-------------------------- IMPLEMENTATION --------------------------------*/
/*--------------------------------------------------------------------------*/
#include "ADS/string/impl/EditDistance.tpp"
/*--------------------------------------------------------------------------*/
#endif /* EditDistance.h included */
/*--------------------------------------------------------------------------*/
/*------------------------ End File EditDistance.h -------------------------*/
/*--------------------------------------------------------------------------*/