]>
git.ipfire.org Git - thirdparty/squid.git/blob - lib/libTrie/TrieCharTransform.h
2 * Copyright (C) 1996-2018 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 LIBTRIE_TRIECHARTRANSFORM_H
10 #define 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
24 #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 virtual char operator () (char const aChar
) const {return tolower(aChar
);}
46 #endif /* __cplusplus */
48 #endif /* LIBTRIE_TRIECHARTRANSFORM_H */