| 898 | namespace { |
| 899 | |
| 900 | bool UpperAsciiImpl(absl::string_view in, std::string* absl_nonnull out) { |
| 901 | if (in.empty()) { |
| 902 | return false; |
| 903 | } |
| 904 | bool needs_conversion = false; |
| 905 | for (char c : in) { |
| 906 | if (absl::ascii_islower(c)) { |
| 907 | needs_conversion = true; |
| 908 | break; |
| 909 | } |
| 910 | } |
| 911 | |
| 912 | if (!needs_conversion) { |
| 913 | return false; |
| 914 | } |
| 915 | |
| 916 | *out = absl::AsciiStrToUpper(in); |
| 917 | return true; |
| 918 | } |
| 919 | |
| 920 | absl::Cord UpperAsciiImpl(const absl::Cord& in) { |
| 921 | if (in.empty()) { |