Fix typos
[TortoiseGit.git] / ext / scintilla / src / CaseFolder.h
blob0b7cd2562dde4bcf931891bb7a0e01a089f8457a
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 namespace Scintilla::Internal {
13 class CaseFolder {
14 public:
15 CaseFolder() = default;
16 // Deleted so CaseFolder objects can not be copied.
17 CaseFolder(const CaseFolder &source) = delete;
18 CaseFolder(CaseFolder &&) = delete;
19 CaseFolder &operator=(const CaseFolder &) = delete;
20 CaseFolder &operator=(CaseFolder &&) = delete;
21 virtual ~CaseFolder() = default;
22 virtual size_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) = 0;
25 class CaseFolderTable : public CaseFolder {
26 protected:
27 char mapping[256];
28 public:
29 CaseFolderTable() noexcept;
30 size_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) override;
31 void SetTranslation(char ch, char chTranslation) noexcept;
32 void StandardASCII() noexcept;
35 class ICaseConverter;
37 class CaseFolderUnicode : public CaseFolderTable {
38 ICaseConverter *converter;
39 public:
40 CaseFolderUnicode();
41 size_t Fold(char *folded, size_t sizeFolded, const char *mixed, size_t lenMixed) override;
46 #endif