ArcdpsExtension
 
Loading...
Searching...
No Matches
Common

Classes

struct  rapidfuzz::common::PatternMatchVector
 
struct  rapidfuzz::common::BlockPatternMatchVector
 
struct  rapidfuzz::common::CharHashTable< CharT1, ValueType, size >
 
struct  rapidfuzz::common::CharHashTable< CharT1, ValueType, 1 >
 
struct  rapidfuzz::common::MatrixVectorView< T >
 
struct  rapidfuzz::common::ConstMatrixVectorView< T >
 
struct  rapidfuzz::common::Matrix< T >
 

Functions

template<typename InputIt1 , typename InputIt2 >
DecomposedSet< InputIt1, InputIt2, InputIt1 > rapidfuzz::common::set_decomposition (SplittedSentenceView< InputIt1 > a, SplittedSentenceView< InputIt2 > b)
 
constexpr double rapidfuzz::common::result_cutoff (double result, double score_cutoff)
 
template<int Max = 1>
constexpr double rapidfuzz::common::norm_distance (int64_t dist, int64_t lensum, double score_cutoff=0)
 
template<typename T >
constexpr bool rapidfuzz::common::is_zero (T a, T tolerance=std::numeric_limits< T >::epsilon())
 
template<typename Sentence , typename CharT = char_type<Sentence>, typename = std::enable_if_t<is_explicitly_convertible<Sentence, std::basic_string<CharT>>::value>>
std::basic_string< CharT > rapidfuzz::common::to_string (Sentence &&str)
 
template<typename Sentence , typename CharT = char_type<Sentence>, typename = std::enable_if_t<!is_explicitly_convertible<Sentence, std::basic_string<CharT>>::value && has_data_and_size<Sentence>::value>>
std::basic_string< CharT > rapidfuzz::common::to_string (const Sentence &str)
 
template<typename CharT >
CharT * rapidfuzz::common::to_begin (CharT *s)
 
template<typename T >
auto rapidfuzz::common::to_begin (T &x)
 
template<typename CharT >
CharT * rapidfuzz::common::to_end (CharT *s)
 
template<typename T >
auto rapidfuzz::common::to_end (T &x)
 
template<typename InputIterator1 , typename InputIterator2 >
std::pair< InputIterator1, InputIterator2 > rapidfuzz::common::mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2)
 Finds the first mismatching pair of elements from two ranges: one defined by [first1, last1) and another defined by [first2,last2). Similar implementation to std::mismatch from C++14.
 
template<typename InputIt1 , typename InputIt2 >
StringAffix rapidfuzz::common::remove_common_affix (InputIt1 &first1, InputIt1 &last1, InputIt2 &first2, InputIt2 &last2)
 
template<typename InputIt1 , typename InputIt2 >
int64_t rapidfuzz::common::remove_common_prefix (InputIt1 &first1, InputIt1 last1, InputIt2 &first2, InputIt2 last2)
 
template<typename InputIt1 , typename InputIt2 >
int64_t rapidfuzz::common::remove_common_suffix (InputIt1 first1, InputIt1 &last1, InputIt2 first2, InputIt2 &last2)
 
template<typename InputIt , typename CharT = iterator_type<InputIt>>
SplittedSentenceView< InputIt > rapidfuzz::common::sorted_split (InputIt first, InputIt last)
 
template<typename T >
constexpr auto rapidfuzz::common::to_unsigned (T value) -> typename std::make_unsigned< T >::type
 
template<typename T >
constexpr auto rapidfuzz::common::to_signed (T value) -> typename std::make_unsigned< T >::type
 
template<typename T , typename U >
bool rapidfuzz::common::CanTypeFitValue (const U value)
 

Detailed Description

Common utilities shared among multiple functions

Function Documentation

◆ CanTypeFitValue()

template<typename T , typename U >
bool rapidfuzz::common::CanTypeFitValue ( const U  value)

◆ is_zero()

template<typename T >
constexpr bool rapidfuzz::common::is_zero ( a,
tolerance = std::numeric_limits<T>::epsilon() 
)
constexpr

◆ mismatch()

template<typename InputIterator1 , typename InputIterator2 >
std::pair< InputIterator1, InputIterator2 > rapidfuzz::common::mismatch ( InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator2  last2 
)

Finds the first mismatching pair of elements from two ranges: one defined by [first1, last1) and another defined by [first2,last2). Similar implementation to std::mismatch from C++14.

Parameters
first1,last1- the first range of the elements
first2,last2- the second range of the elements
Returns
std::pair with iterators to the first two non-equal elements.

◆ norm_distance()

template<int Max = 1>
constexpr double rapidfuzz::common::norm_distance ( int64_t  dist,
int64_t  lensum,
double  score_cutoff = 0 
)
constexpr

◆ remove_common_affix()

template<typename InputIt1 , typename InputIt2 >
StringAffix rapidfuzz::common::remove_common_affix ( InputIt1 &  first1,
InputIt1 &  last1,
InputIt2 &  first2,
InputIt2 &  last2 
)

Removes common affix of two string views

◆ remove_common_prefix()

template<typename InputIt1 , typename InputIt2 >
int64_t rapidfuzz::common::remove_common_prefix ( InputIt1 &  first1,
InputIt1  last1,
InputIt2 &  first2,
InputIt2  last2 
)

Removes common prefix of two string views

◆ remove_common_suffix()

template<typename InputIt1 , typename InputIt2 >
int64_t rapidfuzz::common::remove_common_suffix ( InputIt1  first1,
InputIt1 &  last1,
InputIt2  first2,
InputIt2 &  last2 
)

Removes common suffix of two string views

◆ result_cutoff()

constexpr double rapidfuzz::common::result_cutoff ( double  result,
double  score_cutoff 
)
constexpr

◆ set_decomposition()

template<typename InputIt1 , typename InputIt2 >
DecomposedSet< InputIt1, InputIt2, InputIt1 > rapidfuzz::common::set_decomposition ( SplittedSentenceView< InputIt1 >  a,
SplittedSentenceView< InputIt2 >  b 
)

◆ sorted_split()

template<typename InputIt , typename CharT = iterator_type<InputIt>>
SplittedSentenceView< InputIt > rapidfuzz::common::sorted_split ( InputIt  first,
InputIt  last 
)

◆ to_begin() [1/2]

template<typename CharT >
CharT * rapidfuzz::common::to_begin ( CharT *  s)

◆ to_begin() [2/2]

template<typename T >
auto rapidfuzz::common::to_begin ( T &  x)

◆ to_end() [1/2]

template<typename CharT >
CharT * rapidfuzz::common::to_end ( CharT *  s)

◆ to_end() [2/2]

template<typename T >
auto rapidfuzz::common::to_end ( T &  x)

◆ to_signed()

template<typename T >
constexpr auto rapidfuzz::common::to_signed ( value) -> typename std::make_unsigned<T>::type
constexpr

◆ to_string() [1/2]

template<typename Sentence , typename CharT = char_type<Sentence>, typename = std::enable_if_t<!is_explicitly_convertible<Sentence, std::basic_string<CharT>>::value && has_data_and_size<Sentence>::value>>
std::basic_string< CharT > rapidfuzz::common::to_string ( const Sentence &  str)

◆ to_string() [2/2]

template<typename Sentence , typename CharT = char_type<Sentence>, typename = std::enable_if_t<is_explicitly_convertible<Sentence, std::basic_string<CharT>>::value>>
std::basic_string< CharT > rapidfuzz::common::to_string ( Sentence &&  str)

◆ to_unsigned()

template<typename T >
constexpr auto rapidfuzz::common::to_unsigned ( value) -> typename std::make_unsigned<T>::type
constexpr