This commit is contained in:
2024-10-21 18:11:35 +03:00
parent b8fdae9d16
commit 0d62c9defc
9 changed files with 247 additions and 68 deletions

View File

@@ -626,6 +626,26 @@ static auto AdcSplitCharRange(R&& r, DR&& delim, size_t start = 0, size_t num =
}
static constexpr bool AdcCharRangeCompare(const traits::adc_char_view auto& what,
const traits::adc_char_view auto& where,
bool case_insensitive = false)
{
if (std::ranges::size(what) == std::ranges::size(where)) {
if (case_insensitive) {
auto f = std::ranges::search(where,
std::views::transform(what, [](const char& ch) { return std::tolower(ch); }));
return !f.empty();
} else {
auto f = std::ranges::search(where, what);
return !f.empty();
}
}
return false;
}
// FVN-1a hash function
template <traits::adc_input_char_range R>
static constexpr size_t AdcFNV1aHash(const R& r)