1 // Scintilla source code edit control
2 /** @file CharClassify.h
3 ** Character classifications used by Document and RESearch.
5 // Copyright 2006-2009 by Neil Hodgson <neilh@scintilla.org>
6 // The License.txt file describes the conditions under which this software may be distributed.
15 enum cc
{ ccSpace
, ccNewLine
, ccWord
, ccPunctuation
};
16 void SetDefaultCharClasses(bool includeWordClass
);
17 void SetCharClasses(const unsigned char *chars
, cc newCharClass
);
18 cc
GetClass(unsigned char ch
) const { return static_cast<cc
>(charClass
[ch
]);}
19 bool IsWord(unsigned char ch
) const { return static_cast<cc
>(charClass
[ch
]) == ccWord
;}
23 unsigned char charClass
[maxChar
]; // not type cc to save space
26 // These functions are implemented because each platform calls them something different.
27 int CompareCaseInsensitive(const char *a
, const char *b
);
28 int CompareNCaseInsensitive(const char *a
, const char *b
, size_t len
);
30 inline char MakeUpperCase(char ch
) {
31 if (ch
< 'a' || ch
> 'z')
34 return static_cast<char>(ch
- 'a' + 'A');