]>
git.ipfire.org Git - thirdparty/squid.git/blob - lib/libTrie/TrieCharTransform.h
2 * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 #ifndef SQUID_LIB_LIBTRIE_TRIECHARTRANSFORM_H
10 #define SQUID_LIB_LIBTRIE_TRIECHARTRANSFORM_H
12 /* This is an internal header for libTrie.
13 * libTrie provides both limited C and full C++
15 * libTrie itself is written in C++.
16 * For C bindings see Trie.h
25 #include <sys/types.h>
28 /* TODO: parameterize this to be more generic -
29 * i.e. M-ary internal node sizes etc
32 class TrieCharTransform
36 virtual ~TrieCharTransform() {}
38 virtual char operator () (char const) const = 0;
41 class TrieCaseless
: public TrieCharTransform
43 char operator () (char const aChar
) const override
{return tolower(aChar
);}
46 #endif /* __cplusplus */
48 #endif /* SQUID_LIB_LIBTRIE_TRIECHARTRANSFORM_H */