aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/digest/lower_case/lchash.h
blob: 5cc13bc6127d171965888c768561f0f90bf12b1e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once

#include "lciter.h"

#include <util/digest/fnv.h>
#include <util/generic/strbuf.h>

template <class T>
static inline T FnvCaseLess(const char* b, size_t l, T t = 0) noexcept { 
    using TIter = TLowerCaseIterator<const char>;

    return FnvHash(TIter(b), TIter(b + l), t);
}

template <class T>
static inline T FnvCaseLess(const TStringBuf& s, T t = 0) noexcept { 
    return FnvCaseLess(s.data(), s.size(), t);
}