Merge pull request #826 from kugel-/doxygen-fixes2
[geany-mirror.git] / scintilla / src / CaseFolder.h
blob2d754d4f38aa79681d0755f1a0c474f0862b7835
1 // Scintilla source code edit control
2 /** @file CaseFolder.h
3 ** Classes for case folding.
4 **/
5 // Copyright 1998-2013 by Neil Hodgson <neilh@scintilla.org>
6 // The License.txt file describes the conditions under which this software may be distributed.
8 #ifndef CASEFOLDER_H
9 #define CASEFOLDER_H
11 #ifdef SCI_NAMESPACE
12 namespace Scintilla {
13 #endif
15 class CaseFolder {
16 public:
17 virtual ~CaseFolder();
18 virtual size_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) = 0;
21 class CaseFolderTable : public CaseFolder {
22 protected:
23 char mapping[256];
24 public:
25 CaseFolderTable();
26 virtual ~CaseFolderTable();
27 virtual size_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed);
28 void SetTranslation(char ch, char chTranslation);
29 void StandardASCII();
32 class ICaseConverter;
34 class CaseFolderUnicode : public CaseFolderTable {
35 ICaseConverter *converter;
36 public:
37 CaseFolderUnicode();
38 virtual size_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed);
41 #ifdef SCI_NAMESPACE
43 #endif
45 #endif