diff --git a/ascii.hpp b/ascii.hpp index 973fc253..7f98f0c0 100644 --- a/ascii.hpp +++ b/ascii.hpp @@ -117,6 +117,19 @@ namespace cruft::ascii { } + ///------------------------------------------------------------------------ + /// Convert an ASCII character into a upper case character if it is lower + /// case, else return it unchanged. + /// + /// If you know the character is always lower case then prefer to_upper. + constexpr inline + char + try_upper (char c) noexcept + { + return is_lower (c) ? to_upper (c) : c; + } + + ///------------------------------------------------------------------------ /// Converts an upper case ASCII character into a lower case character. ///