From f9aa13ad81d1650ab447550502c5f54a391ae89f Mon Sep 17 00:00:00 2001 From: Danny Robson Date: Thu, 2 May 2019 11:03:00 +1000 Subject: [PATCH] ascii: add try_upper transform --- ascii.hpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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. ///