diff options
| author | Leonetienne <leon@etiennes.de> | 2022-05-16 23:57:26 +0200 |
|---|---|---|
| committer | Leonetienne <leon@etiennes.de> | 2022-05-16 23:57:26 +0200 |
| commit | 954629f6bc3b7753c5be0c08e0cdb5caf1056d23 (patch) | |
| tree | 33a95f60202135f9fcc689e081a64f2d274d7d99 /Src/CharTools.cpp | |
| parent | 1fe3eeb14470470d8c95c40c98a12c15320bcd57 (diff) | |
Adhere to new project structure
Diffstat (limited to 'Src/CharTools.cpp')
| -rw-r--r-- | Src/CharTools.cpp | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/Src/CharTools.cpp b/Src/CharTools.cpp deleted file mode 100644 index 5a7028c..0000000 --- a/Src/CharTools.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include "CharTools.h" -#include <algorithm> - -bool CharTools::IsVowel(const char c, const std::string &vowels) { - const char lc = MakeLower(c); - - return std::any_of( - vowels.cbegin(), - vowels.cend(), - [lc](const char vowel) { - return lc == vowel; - } - ); -} - -bool CharTools::IsLetter(const char c) { - // Re-implementing IsUpper and MakeLower to prevent stack-overflow by endless recursion - const char lowercase_c = !(c & (1<<5)) ? (c | (1<<5)) : c; - - return (lowercase_c >= 'a') && (lowercase_c <= 'z'); -} - -bool CharTools::IsDigit(const char c) { - return (c >= '0') && (c <= '9'); -} - -bool CharTools::IsUpper(const char c) { - if (!IsLetter(c)) - return false; - else - return !(c & (1<<5)); -} - -bool CharTools::IsLower(const char c) { - // Can't just return !IsUpper(c), because it should still return false for digits and symbols... - - if (!IsLetter(c)) - return false; - else - return (c & (1<<5)); -} - -char CharTools::MakeUpper(char c) { - if (!IsLetter(c)) - return c; - else if (IsUpper(c)) - return c; - else - return c & ~(1<<5); -} - -char CharTools::MakeLower(char c) { - if (!IsLetter(c)) - return c; - else if (!IsUpper(c)) - return c; - else - return c | (1<<5); -} - -char CharTools::CopySign(char sign, char c) { - if ((!IsLetter(c)) || (!IsLetter(sign))) - return c; - if (IsUpper(sign)) - return MakeUpper(c); - else - return MakeLower(c); -} |
