1 // Scintilla source code edit control
3 ** Classes for case folding.
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.
11 namespace Scintilla::Internal
{
15 virtual ~CaseFolder();
16 virtual size_t Fold(char *folded
, size_t sizeFolded
, const char *mixed
, size_t lenMixed
) = 0;
19 class CaseFolderTable
: public CaseFolder
{
23 CaseFolderTable() noexcept
;
24 size_t Fold(char *folded
, size_t sizeFolded
, const char *mixed
, size_t lenMixed
) override
;
25 void SetTranslation(char ch
, char chTranslation
) noexcept
;
26 void StandardASCII() noexcept
;
31 class CaseFolderUnicode
: public CaseFolderTable
{
32 ICaseConverter
*converter
;
35 size_t Fold(char *folded
, size_t sizeFolded
, const char *mixed
, size_t lenMixed
) override
;