// Copyright 2023 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "util/string_util.h" namespace openscreen::string_util { namespace internal { // clang-format off // Array of bitfields holding character information. Note that bitfields for all // characters above ASCII 127 are zero-initialized. // Position Meaning // -------- ------- // 1 alphabetic // 2 alphanumeric // 3 whitespace // 4 punctuation // 5 tab or space // 6 control character // 7 hex digit const unsigned char kPropertyBits[256] = …; // Array of characters for the ascii_tolower() function. const char kToLower[256] = …; // Array of characters for the ascii_toupper() function. const char kToUpper[256] = …; // clang-format on } // namespace internal void AsciiStrToLower(std::string& s) { … } std::string AsciiStrToLower(std::string_view s) { … } void AsciiStrToUpper(std::string& s) { … } std::string AsciiStrToUpper(std::string_view s) { … } bool EqualsIgnoreCase(std::string_view piece1, std::string_view piece2) { … } [[nodiscard]] std::string StrCat( std::initializer_list<std::string_view> pieces) { … } } // namespace openscreen::string_util