diff options
author | Neil <nyamatongwe@gmail.com> | 2020-03-13 09:03:15 +1100 |
---|---|---|
committer | Neil <nyamatongwe@gmail.com> | 2020-03-13 09:03:15 +1100 |
commit | a58c34864d438fffe91834510c147e8bcfe74f6e (patch) | |
tree | 57f14537cca8e35198167281769adffc869de334 | |
parent | 87e9e3d3ebfa7ad6ba1b8e3cab2e5fd0293d664e (diff) | |
download | scintilla-mirror-a58c34864d438fffe91834510c147e8bcfe74f6e.tar.gz |
Using constexpr in UniConversion and CaseConvert.
-rw-r--r-- | src/CaseConvert.cxx | 2 | ||||
-rw-r--r-- | src/CaseConvert.h | 2 | ||||
-rw-r--r-- | src/UniConversion.h | 8 | ||||
-rw-r--r-- | win32/ScintillaWin.cxx | 2 |
4 files changed, 7 insertions, 7 deletions
diff --git a/src/CaseConvert.cxx b/src/CaseConvert.cxx index da4c8ced8..9d8c9c9f3 100644 --- a/src/CaseConvert.cxx +++ b/src/CaseConvert.cxx @@ -716,7 +716,7 @@ void SetupConversions(enum CaseConversion conversion) { const char *sComplex = complexCaseConversions; while (*sComplex) { // Longest ligature is 3 character so 5 for safety - const size_t lenUTF8 = 5*UTF8MaxBytes+1; + constexpr size_t lenUTF8 = 5*UTF8MaxBytes+1; unsigned char originUTF8[lenUTF8]{}; char foldedUTF8[lenUTF8]{}; char lowerUTF8[lenUTF8]{}; diff --git a/src/CaseConvert.h b/src/CaseConvert.h index cdd089710..e3057c841 100644 --- a/src/CaseConvert.h +++ b/src/CaseConvert.h @@ -31,7 +31,7 @@ const char *CaseConvert(int character, enum CaseConversion conversion); // When performing CaseConvertString, the converted value may be up to 3 times longer than the input. // Ligatures are often decomposed into multiple characters and long cases include: // ΐ "\xce\x90" folds to ΐ "\xce\xb9\xcc\x88\xcc\x81" -const int maxExpansionCaseConversion=3; +constexpr size_t maxExpansionCaseConversion = 3; // Converts a mixed case string using a particular conversion. // Result may be a different length to input and the length is the return value. diff --git a/src/UniConversion.h b/src/UniConversion.h index 836e1e621..4aea824b6 100644 --- a/src/UniConversion.h +++ b/src/UniConversion.h @@ -10,9 +10,9 @@ namespace Scintilla { -const int UTF8MaxBytes = 4; +constexpr int UTF8MaxBytes = 4; -const int unicodeReplacementChar = 0xFFFD; +constexpr int unicodeReplacementChar = 0xFFFD; size_t UTF8Length(std::wstring_view wsv) noexcept; size_t UTF8PositionFromUTF16Position(std::string_view u8Text, size_t positionUTF16) noexcept; @@ -64,13 +64,13 @@ int UTF8DrawBytes(const unsigned char *us, int len) noexcept; // Line separator is U+2028 \xe2\x80\xa8 // Paragraph separator is U+2029 \xe2\x80\xa9 -const int UTF8SeparatorLength = 3; +constexpr int UTF8SeparatorLength = 3; inline bool UTF8IsSeparator(const unsigned char *us) noexcept { return (us[0] == 0xe2) && (us[1] == 0x80) && ((us[2] == 0xa8) || (us[2] == 0xa9)); } // NEL is U+0085 \xc2\x85 -const int UTF8NELLength = 2; +constexpr int UTF8NELLength = 2; inline bool UTF8IsNEL(const unsigned char *us) noexcept { return (us[0] == 0xc2) && (us[1] == 0x85); } diff --git a/win32/ScintillaWin.cxx b/win32/ScintillaWin.cxx index df05dea68..a9931afde 100644 --- a/win32/ScintillaWin.cxx +++ b/win32/ScintillaWin.cxx @@ -1033,7 +1033,7 @@ void ScintillaWin::EscapeHanja() { // ImmEscapeW() may overwrite uniChar[] with a null terminated string. // So enlarge it enough to Maximum 4 as in UTF-8. - unsigned int const safeLength = UTF8MaxBytes+1; + constexpr size_t safeLength = UTF8MaxBytes + 1; std::string oneChar(safeLength, '\0'); pdoc->GetCharRange(&oneChar[0], currentPos, oneCharLen); |