Skip to content

Commit 8aeb41d

Browse files
committed
convert more metrics to size_t
1 parent ff65ecd commit 8aeb41d

12 files changed

Lines changed: 192 additions & 197 deletions

extras/rapidfuzz_amalgamated.hpp

Lines changed: 82 additions & 84 deletions
Large diffs are not rendered by default.

rapidfuzz/distance/DamerauLevenshtein.hpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -30,28 +30,28 @@ namespace experimental {
3030
* @return Damerau Levenshtein distance between s1 and s2
3131
*/
3232
template <typename InputIt1, typename InputIt2>
33-
int64_t damerau_levenshtein_distance(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
34-
int64_t score_cutoff = std::numeric_limits<int64_t>::max())
33+
size_t damerau_levenshtein_distance(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
34+
size_t score_cutoff = std::numeric_limits<size_t>::max())
3535
{
3636
return detail::DamerauLevenshtein::distance(first1, last1, first2, last2, score_cutoff, score_cutoff);
3737
}
3838

3939
template <typename Sentence1, typename Sentence2>
40-
int64_t damerau_levenshtein_distance(const Sentence1& s1, const Sentence2& s2,
41-
int64_t score_cutoff = std::numeric_limits<int64_t>::max())
40+
size_t damerau_levenshtein_distance(const Sentence1& s1, const Sentence2& s2,
41+
size_t score_cutoff = std::numeric_limits<size_t>::max())
4242
{
4343
return detail::DamerauLevenshtein::distance(s1, s2, score_cutoff, score_cutoff);
4444
}
4545

4646
template <typename InputIt1, typename InputIt2>
47-
int64_t damerau_levenshtein_similarity(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
48-
int64_t score_cutoff = 0)
47+
size_t damerau_levenshtein_similarity(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
48+
size_t score_cutoff = 0)
4949
{
5050
return detail::DamerauLevenshtein::similarity(first1, last1, first2, last2, score_cutoff, score_cutoff);
5151
}
5252

5353
template <typename Sentence1, typename Sentence2>
54-
int64_t damerau_levenshtein_similarity(const Sentence1& s1, const Sentence2& s2, int64_t score_cutoff = 0)
54+
size_t damerau_levenshtein_similarity(const Sentence1& s1, const Sentence2& s2, size_t score_cutoff = 0)
5555
{
5656
return detail::DamerauLevenshtein::similarity(s1, s2, score_cutoff, score_cutoff);
5757
}
@@ -111,7 +111,7 @@ double damerau_levenshtein_normalized_similarity(const Sentence1& s1, const Sent
111111
}
112112

113113
template <typename CharT1>
114-
struct CachedDamerauLevenshtein : public detail::CachedDistanceBase<CachedDamerauLevenshtein<CharT1>, int64_t,
114+
struct CachedDamerauLevenshtein : public detail::CachedDistanceBase<CachedDamerauLevenshtein<CharT1>, size_t,
115115
0, std::numeric_limits<int64_t>::max()> {
116116
template <typename Sentence1>
117117
explicit CachedDamerauLevenshtein(const Sentence1& s1_)
@@ -123,19 +123,19 @@ struct CachedDamerauLevenshtein : public detail::CachedDistanceBase<CachedDamera
123123
{}
124124

125125
private:
126-
friend detail::CachedDistanceBase<CachedDamerauLevenshtein<CharT1>, int64_t, 0,
126+
friend detail::CachedDistanceBase<CachedDamerauLevenshtein<CharT1>, size_t, 0,
127127
std::numeric_limits<int64_t>::max()>;
128128
friend detail::CachedNormalizedMetricBase<CachedDamerauLevenshtein<CharT1>>;
129129

130130
template <typename InputIt2>
131-
int64_t maximum(const detail::Range<InputIt2>& s2) const
131+
size_t maximum(const detail::Range<InputIt2>& s2) const
132132
{
133-
return static_cast<int64_t>(std::max(s1.size(), s2.size()));
133+
return std::max(s1.size(), s2.size());
134134
}
135135

136136
template <typename InputIt2>
137-
int64_t _distance(const detail::Range<InputIt2>& s2, int64_t score_cutoff,
138-
[[maybe_unused]] int64_t score_hint) const
137+
size_t _distance(const detail::Range<InputIt2>& s2, size_t score_cutoff,
138+
[[maybe_unused]] size_t score_hint) const
139139
{
140140
return rapidfuzz::experimental::damerau_levenshtein_distance(s1, s2, score_cutoff);
141141
}

rapidfuzz/distance/DamerauLevenshtein_impl.hpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -121,21 +121,21 @@ size_t damerau_levenshtein_distance(Range<InputIt1> s1, Range<InputIt2> s2, size
121121
}
122122

123123
class DamerauLevenshtein
124-
: public DistanceBase<DamerauLevenshtein, int64_t, 0, std::numeric_limits<int64_t>::max()> {
125-
friend DistanceBase<DamerauLevenshtein, int64_t, 0, std::numeric_limits<int64_t>::max()>;
124+
: public DistanceBase<DamerauLevenshtein, size_t, 0, std::numeric_limits<int64_t>::max()> {
125+
friend DistanceBase<DamerauLevenshtein, size_t, 0, std::numeric_limits<int64_t>::max()>;
126126
friend NormalizedMetricBase<DamerauLevenshtein>;
127127

128128
template <typename InputIt1, typename InputIt2>
129-
static int64_t maximum(const Range<InputIt1>& s1, const Range<InputIt2>& s2)
129+
static size_t maximum(const Range<InputIt1>& s1, const Range<InputIt2>& s2)
130130
{
131-
return static_cast<int64_t>(std::max(s1.size(), s2.size()));
131+
return std::max(s1.size(), s2.size());
132132
}
133133

134134
template <typename InputIt1, typename InputIt2>
135-
static int64_t _distance(const Range<InputIt1>& s1, const Range<InputIt2>& s2, int64_t score_cutoff,
136-
[[maybe_unused]] int64_t score_hint)
135+
static size_t _distance(const Range<InputIt1>& s1, const Range<InputIt2>& s2, size_t score_cutoff,
136+
[[maybe_unused]] size_t score_hint)
137137
{
138-
return static_cast<int64_t>(damerau_levenshtein_distance(s1, s2, static_cast<size_t>(score_cutoff)));
138+
return damerau_levenshtein_distance(s1, s2, score_cutoff);
139139
}
140140
};
141141

rapidfuzz/distance/Hamming.hpp

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -34,29 +34,28 @@ namespace rapidfuzz {
3434
* @return Hamming distance between s1 and s2
3535
*/
3636
template <typename InputIt1, typename InputIt2>
37-
int64_t hamming_distance(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, bool pad_ = true,
38-
int64_t score_cutoff = std::numeric_limits<int64_t>::max())
37+
size_t hamming_distance(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, bool pad_ = true,
38+
size_t score_cutoff = std::numeric_limits<size_t>::max())
3939
{
4040
return detail::Hamming::distance(first1, last1, first2, last2, pad_, score_cutoff, score_cutoff);
4141
}
4242

4343
template <typename Sentence1, typename Sentence2>
44-
int64_t hamming_distance(const Sentence1& s1, const Sentence2& s2, bool pad_ = true,
45-
int64_t score_cutoff = std::numeric_limits<int64_t>::max())
44+
size_t hamming_distance(const Sentence1& s1, const Sentence2& s2, bool pad_ = true,
45+
size_t score_cutoff = std::numeric_limits<size_t>::max())
4646
{
4747
return detail::Hamming::distance(s1, s2, pad_, score_cutoff, score_cutoff);
4848
}
4949

5050
template <typename InputIt1, typename InputIt2>
51-
int64_t hamming_similarity(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, bool pad_ = true,
52-
int64_t score_cutoff = 0)
51+
size_t hamming_similarity(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, bool pad_ = true,
52+
size_t score_cutoff = 0)
5353
{
5454
return detail::Hamming::similarity(first1, last1, first2, last2, pad_, score_cutoff, score_cutoff);
5555
}
5656

5757
template <typename Sentence1, typename Sentence2>
58-
int64_t hamming_similarity(const Sentence1& s1, const Sentence2& s2, bool pad_ = true,
59-
int64_t score_cutoff = 0)
58+
size_t hamming_similarity(const Sentence1& s1, const Sentence2& s2, bool pad_ = true, size_t score_cutoff = 0)
6059
{
6160
return detail::Hamming::similarity(s1, s2, pad_, score_cutoff, score_cutoff);
6261
}
@@ -78,15 +77,15 @@ double hamming_normalized_distance(const Sentence1& s1, const Sentence2& s2, boo
7877

7978
template <typename InputIt1, typename InputIt2>
8079
Editops hamming_editops(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2, bool pad_ = true,
81-
int64_t score_hint = std::numeric_limits<int64_t>::max())
80+
size_t score_hint = std::numeric_limits<size_t>::max())
8281
{
8382
return detail::hamming_editops(detail::Range(first1, last1), detail::Range(first2, last2), pad_,
8483
score_hint);
8584
}
8685

8786
template <typename Sentence1, typename Sentence2>
8887
Editops hamming_editops(const Sentence1& s1, const Sentence2& s2, bool pad_ = true,
89-
int64_t score_hint = std::numeric_limits<int64_t>::max())
88+
size_t score_hint = std::numeric_limits<size_t>::max())
9089
{
9190
return detail::hamming_editops(detail::Range(s1), detail::Range(s2), pad_, score_hint);
9291
}
@@ -131,7 +130,7 @@ double hamming_normalized_similarity(const Sentence1& s1, const Sentence2& s2, b
131130
}
132131

133132
template <typename CharT1>
134-
struct CachedHamming : public detail::CachedDistanceBase<CachedHamming<CharT1>, int64_t, 0,
133+
struct CachedHamming : public detail::CachedDistanceBase<CachedHamming<CharT1>, size_t, 0,
135134
std::numeric_limits<int64_t>::max()> {
136135
template <typename Sentence1>
137136
explicit CachedHamming(const Sentence1& s1_, bool pad_ = true)
@@ -143,18 +142,18 @@ struct CachedHamming : public detail::CachedDistanceBase<CachedHamming<CharT1>,
143142
{}
144143

145144
private:
146-
friend detail::CachedDistanceBase<CachedHamming<CharT1>, int64_t, 0, std::numeric_limits<int64_t>::max()>;
145+
friend detail::CachedDistanceBase<CachedHamming<CharT1>, size_t, 0, std::numeric_limits<int64_t>::max()>;
147146
friend detail::CachedNormalizedMetricBase<CachedHamming<CharT1>>;
148147

149148
template <typename InputIt2>
150-
int64_t maximum(const detail::Range<InputIt2>& s2) const
149+
size_t maximum(const detail::Range<InputIt2>& s2) const
151150
{
152-
return static_cast<int64_t>(std::max(s1.size(), s2.size()));
151+
return std::max(s1.size(), s2.size());
153152
}
154153

155154
template <typename InputIt2>
156-
int64_t _distance(const detail::Range<InputIt2>& s2, int64_t score_cutoff,
157-
[[maybe_unused]] int64_t score_hint) const
155+
size_t _distance(const detail::Range<InputIt2>& s2, size_t score_cutoff,
156+
[[maybe_unused]] size_t score_hint) const
158157
{
159158
return detail::Hamming::distance(s1, s2, pad, score_cutoff, score_hint);
160159
}

rapidfuzz/distance/Hamming_impl.hpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,24 @@
88

99
namespace rapidfuzz::detail {
1010

11-
class Hamming : public DistanceBase<Hamming, int64_t, 0, std::numeric_limits<int64_t>::max(), bool> {
12-
friend DistanceBase<Hamming, int64_t, 0, std::numeric_limits<int64_t>::max(), bool>;
11+
class Hamming : public DistanceBase<Hamming, size_t, 0, std::numeric_limits<int64_t>::max(), bool> {
12+
friend DistanceBase<Hamming, size_t, 0, std::numeric_limits<int64_t>::max(), bool>;
1313
friend NormalizedMetricBase<Hamming, bool>;
1414

1515
template <typename InputIt1, typename InputIt2>
16-
static int64_t maximum(const Range<InputIt1>& s1, const Range<InputIt2>& s2, bool)
16+
static size_t maximum(const Range<InputIt1>& s1, const Range<InputIt2>& s2, bool)
1717
{
18-
return static_cast<int64_t>(std::max(s1.size(), s2.size()));
18+
return std::max(s1.size(), s2.size());
1919
}
2020

2121
template <typename InputIt1, typename InputIt2>
22-
static int64_t _distance(const Range<InputIt1>& s1, const Range<InputIt2>& s2, bool pad,
23-
int64_t score_cutoff, [[maybe_unused]] int64_t score_hint)
22+
static size_t _distance(const Range<InputIt1>& s1, const Range<InputIt2>& s2, bool pad,
23+
size_t score_cutoff, [[maybe_unused]] size_t score_hint)
2424
{
2525
if (!pad && s1.size() != s2.size()) throw std::invalid_argument("Sequences are not the same length.");
2626

2727
size_t min_len = std::min(s1.size(), s2.size());
28-
int64_t dist = static_cast<int64_t>(std::max(s1.size(), s2.size()));
28+
size_t dist = std::max(s1.size(), s2.size());
2929
auto iter_s1 = s1.begin();
3030
auto iter_s2 = s2.begin();
3131
for (size_t i = 0; i < min_len; ++i)
@@ -36,7 +36,7 @@ class Hamming : public DistanceBase<Hamming, int64_t, 0, std::numeric_limits<int
3636
};
3737

3838
template <typename InputIt1, typename InputIt2>
39-
Editops hamming_editops(const Range<InputIt1>& s1, const Range<InputIt2>& s2, bool pad, int64_t)
39+
Editops hamming_editops(const Range<InputIt1>& s1, const Range<InputIt2>& s2, bool pad, size_t)
4040
{
4141
if (!pad && s1.size() != s2.size()) throw std::invalid_argument("Sequences are not the same length.");
4242

rapidfuzz/distance/Postfix.hpp

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,28 @@
1010
namespace rapidfuzz {
1111

1212
template <typename InputIt1, typename InputIt2>
13-
int64_t postfix_distance(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
14-
int64_t score_cutoff = std::numeric_limits<int64_t>::max())
13+
size_t postfix_distance(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
14+
size_t score_cutoff = std::numeric_limits<size_t>::max())
1515
{
1616
return detail::Postfix::distance(first1, last1, first2, last2, score_cutoff, score_cutoff);
1717
}
1818

1919
template <typename Sentence1, typename Sentence2>
20-
int64_t postfix_distance(const Sentence1& s1, const Sentence2& s2,
21-
int64_t score_cutoff = std::numeric_limits<int64_t>::max())
20+
size_t postfix_distance(const Sentence1& s1, const Sentence2& s2,
21+
size_t score_cutoff = std::numeric_limits<size_t>::max())
2222
{
2323
return detail::Postfix::distance(s1, s2, score_cutoff, score_cutoff);
2424
}
2525

2626
template <typename InputIt1, typename InputIt2>
27-
int64_t postfix_similarity(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
28-
int64_t score_cutoff = 0)
27+
size_t postfix_similarity(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
28+
size_t score_cutoff = 0)
2929
{
3030
return detail::Postfix::similarity(first1, last1, first2, last2, score_cutoff, score_cutoff);
3131
}
3232

3333
template <typename Sentence1, typename Sentence2>
34-
int64_t postfix_similarity(const Sentence1& s1, const Sentence2& s2, int64_t score_cutoff = 0)
34+
size_t postfix_similarity(const Sentence1& s1, const Sentence2& s2, size_t score_cutoff = 0)
3535
{
3636
return detail::Postfix::similarity(s1, s2, score_cutoff, score_cutoff);
3737
}
@@ -63,7 +63,7 @@ double postfix_normalized_similarity(const Sentence1& s1, const Sentence2& s2, d
6363
}
6464

6565
template <typename CharT1>
66-
struct CachedPostfix : public detail::CachedSimilarityBase<CachedPostfix<CharT1>, int64_t, 0,
66+
struct CachedPostfix : public detail::CachedSimilarityBase<CachedPostfix<CharT1>, size_t, 0,
6767
std::numeric_limits<int64_t>::max()> {
6868
template <typename Sentence1>
6969
explicit CachedPostfix(const Sentence1& s1_) : CachedPostfix(detail::to_begin(s1_), detail::to_end(s1_))
@@ -74,19 +74,19 @@ struct CachedPostfix : public detail::CachedSimilarityBase<CachedPostfix<CharT1>
7474
{}
7575

7676
private:
77-
friend detail::CachedSimilarityBase<CachedPostfix<CharT1>, int64_t, 0,
77+
friend detail::CachedSimilarityBase<CachedPostfix<CharT1>, size_t, 0,
7878
std::numeric_limits<int64_t>::max()>;
7979
friend detail::CachedNormalizedMetricBase<CachedPostfix<CharT1>>;
8080

8181
template <typename InputIt2>
82-
int64_t maximum(const detail::Range<InputIt2>& s2) const
82+
size_t maximum(const detail::Range<InputIt2>& s2) const
8383
{
84-
return static_cast<int64_t>(std::max(s1.size(), s2.size()));
84+
return std::max(s1.size(), s2.size());
8585
}
8686

8787
template <typename InputIt2>
88-
int64_t _similarity(detail::Range<InputIt2> s2, int64_t score_cutoff,
89-
[[maybe_unused]] int64_t score_hint) const
88+
size_t _similarity(detail::Range<InputIt2> s2, size_t score_cutoff,
89+
[[maybe_unused]] size_t score_hint) const
9090
{
9191
return detail::Postfix::similarity(s1, s2, score_cutoff, score_hint);
9292
}

rapidfuzz/distance/Postfix_impl.hpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,21 @@
88

99
namespace rapidfuzz::detail {
1010

11-
class Postfix : public SimilarityBase<Postfix, int64_t, 0, std::numeric_limits<int64_t>::max()> {
12-
friend SimilarityBase<Postfix, int64_t, 0, std::numeric_limits<int64_t>::max()>;
11+
class Postfix : public SimilarityBase<Postfix, size_t, 0, std::numeric_limits<int64_t>::max()> {
12+
friend SimilarityBase<Postfix, size_t, 0, std::numeric_limits<int64_t>::max()>;
1313
friend NormalizedMetricBase<Postfix>;
1414

1515
template <typename InputIt1, typename InputIt2>
16-
static int64_t maximum(const Range<InputIt1>& s1, const Range<InputIt2>& s2)
16+
static size_t maximum(const Range<InputIt1>& s1, const Range<InputIt2>& s2)
1717
{
1818
return std::max(s1.size(), s2.size());
1919
}
2020

2121
template <typename InputIt1, typename InputIt2>
22-
static int64_t _similarity(Range<InputIt1> s1, Range<InputIt2> s2, int64_t score_cutoff,
23-
[[maybe_unused]] int64_t score_hint)
22+
static size_t _similarity(Range<InputIt1> s1, Range<InputIt2> s2, size_t score_cutoff,
23+
[[maybe_unused]] size_t score_hint)
2424
{
25-
int64_t dist = static_cast<int64_t>(remove_common_suffix(s1, s2));
25+
size_t dist = remove_common_suffix(s1, s2);
2626
return (dist >= score_cutoff) ? dist : 0;
2727
}
2828
};

rapidfuzz/distance/Prefix.hpp

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,28 +10,28 @@
1010
namespace rapidfuzz {
1111

1212
template <typename InputIt1, typename InputIt2>
13-
int64_t prefix_distance(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
14-
int64_t score_cutoff = std::numeric_limits<int64_t>::max())
13+
size_t prefix_distance(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
14+
size_t score_cutoff = std::numeric_limits<size_t>::max())
1515
{
1616
return detail::Prefix::distance(first1, last1, first2, last2, score_cutoff, score_cutoff);
1717
}
1818

1919
template <typename Sentence1, typename Sentence2>
20-
int64_t prefix_distance(const Sentence1& s1, const Sentence2& s2,
21-
int64_t score_cutoff = std::numeric_limits<int64_t>::max())
20+
size_t prefix_distance(const Sentence1& s1, const Sentence2& s2,
21+
size_t score_cutoff = std::numeric_limits<size_t>::max())
2222
{
2323
return detail::Prefix::distance(s1, s2, score_cutoff, score_cutoff);
2424
}
2525

2626
template <typename InputIt1, typename InputIt2>
27-
int64_t prefix_similarity(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
28-
int64_t score_cutoff = 0)
27+
size_t prefix_similarity(InputIt1 first1, InputIt1 last1, InputIt2 first2, InputIt2 last2,
28+
size_t score_cutoff = 0)
2929
{
3030
return detail::Prefix::similarity(first1, last1, first2, last2, score_cutoff, score_cutoff);
3131
}
3232

3333
template <typename Sentence1, typename Sentence2>
34-
int64_t prefix_similarity(const Sentence1& s1, const Sentence2& s2, int64_t score_cutoff = 0)
34+
size_t prefix_similarity(const Sentence1& s1, const Sentence2& s2, size_t score_cutoff = 0)
3535
{
3636
return detail::Prefix::similarity(s1, s2, score_cutoff, score_cutoff);
3737
}
@@ -63,7 +63,7 @@ double prefix_normalized_similarity(const Sentence1& s1, const Sentence2& s2, do
6363
}
6464

6565
template <typename CharT1>
66-
struct CachedPrefix : public detail::CachedSimilarityBase<CachedPrefix<CharT1>, int64_t, 0,
66+
struct CachedPrefix : public detail::CachedSimilarityBase<CachedPrefix<CharT1>, size_t, 0,
6767
std::numeric_limits<int64_t>::max()> {
6868
template <typename Sentence1>
6969
explicit CachedPrefix(const Sentence1& s1_) : CachedPrefix(detail::to_begin(s1_), detail::to_end(s1_))
@@ -74,19 +74,18 @@ struct CachedPrefix : public detail::CachedSimilarityBase<CachedPrefix<CharT1>,
7474
{}
7575

7676
private:
77-
friend detail::CachedSimilarityBase<CachedPrefix<CharT1>, int64_t, 0,
78-
std::numeric_limits<int64_t>::max()>;
77+
friend detail::CachedSimilarityBase<CachedPrefix<CharT1>, size_t, 0, std::numeric_limits<int64_t>::max()>;
7978
friend detail::CachedNormalizedMetricBase<CachedPrefix<CharT1>>;
8079

8180
template <typename InputIt2>
82-
int64_t maximum(const detail::Range<InputIt2>& s2) const
81+
size_t maximum(const detail::Range<InputIt2>& s2) const
8382
{
84-
return static_cast<int64_t>(std::max(s1.size(), s2.size()));
83+
return std::max(s1.size(), s2.size());
8584
}
8685

8786
template <typename InputIt2>
88-
int64_t _similarity(detail::Range<InputIt2> s2, int64_t score_cutoff,
89-
[[maybe_unused]] int64_t score_hint) const
87+
size_t _similarity(detail::Range<InputIt2> s2, size_t score_cutoff,
88+
[[maybe_unused]] size_t score_hint) const
9089
{
9190
return detail::Prefix::similarity(s1, s2, score_cutoff, score_cutoff);
9291
}

0 commit comments

Comments
 (0)