// This file contains string processing functions related to // uppercase, lowercase, etc. // // These functions are for ASCII only. If you need to process UTF8 strings, // take a look at files in i18n/utf8. #ifndef DYNAMIC_DEPTH_INTERNAL_STRINGS_CASE_H_ // NOLINT #define DYNAMIC_DEPTH_INTERNAL_STRINGS_CASE_H_ // NOLINT #include <string> #include "base/port.h" namespace dynamic_depth { // Returns true if the two strings are equal, case-insensitively speaking. // Uses C/POSIX locale. inline bool StringCaseEqual(const string& s1, const string& s2) { return strcasecmp(s1.c_str(), s2.c_str()) == 0; } // ---------------------------------------------------------------------- // LowerString() // LowerStringToBuf() // Convert the characters in "s" to lowercase. // Works only with ASCII strings; for UTF8, see ToLower in // util/utf8/public/unilib.h // Changes contents of "s". LowerStringToBuf copies at most // "n" characters (including the terminating '\0') from "s" // to another buffer. // ---------------------------------------------------------------------- void LowerString(string* s); namespace strings { inline string ToLower(const string& s) { string out(s); LowerString(&out); return out; } } // namespace strings } // namespace dynamic_depth #endif // DYNAMIC_DEPTH_INTERNAL_STRINGS_CASE_H_ // NOLINT