30 static bool eq(
char c1,
char c2) {
31 return ::tolower(c1) == ::tolower(c2);
34 static bool ne(
char c1,
char c2) {
35 return ::tolower(c1) != ::tolower(c2);
38 static bool lt(
char c1,
char c2) {
39 return ::tolower(c1) < ::tolower(c2);
42 static int compare(
const char* s1,
const char* s2,
size_t n) {
44 if(::tolower(*s1) < ::tolower(*s2) ) {
47 if(::tolower(*s1) > ::tolower(*s2) ) {
56 static const char*
find(
const char*
s,
size_t n,
char a) {
57 char la = ::tolower(a);
59 if(::tolower(*s) == la) {
70 typedef std::basic_string<char, dn_char_traits>
DNString;
78 : dnString(dns), certCrypto(
crypto) {}
87 std::string lowercase(sslContextKey.dnString.data(),
88 sslContextKey.dnString.size());
91 lowercase, static_cast<int>(sslContextKey.certCrypto));
std::basic_string< char, dn_char_traits > DNString
static bool eq(char c1, char c2)
requires E e noexcept(noexcept(s.error(std::move(e))))
static bool lt(char c1, char c2)
FOLLY_PUSH_WARNING RHS rhs
size_t hash_combine(const T &t, const Ts &...ts) noexcept(noexcept(hash_combine_generic(StdHasher{}, t, ts...)))
static const char * find(const char *s, size_t n, char a)
static bool ne(char c1, char c2)
bool operator==(const SSLContextKey &rhs) const
size_t operator()(const SSLContextKey &sslContextKey) const noexcept
void toLowerAscii(char *str, size_t length)
static int compare(const char *s1, const char *s2, size_t n)
SSLContextKey(DNString dns, CertCrypto crypto=CertCrypto::BEST_AVAILABLE)